JavaScript: получить симметричную разницу между двумя заданными массивами после применения предоставленной функции к каждому элементу массива обоих
JavaScript: упражнение 133 с решением
Напишите программу на JavaScript, чтобы получить симметричную разницу между двумя заданными массивами после применения предоставленной функции к каждому элементу массива обоих.
Пример решения:
HTML-код:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Get the symmetric difference between two given arrays, after applying the provided function to each array element of both</title>
</head>
<body>
</body>
</html>
Код JavaScript:
//#Source https://bit.ly/2neWfJ2
const symmetricDifferenceBy = (a, b, fn) => {
const sA = new Set(a.map(v => fn(v))),
sB = new Set(b.map(v => fn(v)));
return [...a.filter(x => !sB.has(fn(x))), ...b.filter(x => !sA.has(fn(x)))];
};
console.log(symmetricDifferenceBy([2.1, 1.2], [2.3, 3.4], Math.floor));
Пример вывода:
[1.2,3.4]
Блок - схема:
Демонстрация в реальном времени:
См. Pen javascript-basic-упражнение-133-1 от w3resource ( @ w3resource ) в CodePen .
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите программу на JavaScript, чтобы получить симметричную разницу между двумя заданными массивами, используя предоставленную функцию в качестве компаратора.
Далее: Напишите программу на JavaScript, чтобы получить симметричную разницу между двумя заданными массивами.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования