JavaScript: получите симметричную разницу между двумя заданными массивами, используя предоставленную функцию в качестве компаратора
Основы JavaScript (синтаксис ES6): упражнение-132 с решением
Напишите программу на JavaScript, чтобы получить симметричную разницу между двумя заданными массивами, используя предоставленную функцию в качестве компаратора.
Пример решения:
HTML-код:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Get the symmetric difference between two given arrays, using a provided function as a comparator</title>
</head>
<body>
</body>
</html>
Код JavaScript:
//#Source https://bit.ly/2neWfJ2
const symmetricDifferenceWith = (arr, val, comp) => [
...arr.filter(a => val.findIndex(b => comp(a, b)) === -1),
...val.filter(a => arr.findIndex(b => comp(a, b)) === -1)
];
console.log(symmetricDifferenceWith(
[1, 1.2, 1.5, 3, 0],
[1.9, 3, 0, 3.9],
(a, b) => Math.round(a) === Math.round(b)
));
Пример вывода:
[1,1.2,3.9]
Блок - схема:
Демонстрация в реальном времени:
См. Pen javascript-basic-упражнение-132-1 от w3resource ( @ w3resource ) на CodePen .
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите программу на JavaScript, чтобы получить массив с n элементами, удаленными в начале из данного массива.
Далее: Напишите программу на JavaScript, чтобы получить симметричную разницу между двумя заданными массивами, после применения предоставленной функции к каждому элементу массива обоих.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования