JavaScript: отфильтруйте неуникальные значения в массиве на основе предоставленной функции компаратора
Основы JavaScript (синтаксис ES6): упражнение 23 с решением
Напишите программу на JavaScript для фильтрации неуникальных значений в массиве на основе предоставленной функции компаратора.
Примечание. Функция сравнения принимает четыре аргумента: значения двух сравниваемых элементов и их индексы.
Пример решения:
HTML-код:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Filter out the non-unique values in an array, based on a provided comparator function</title>
</head>
<body>
</body>
</html>
Код JavaScript:
//#Source https://bit.ly/2neWfJ2
const filter_Non_UniqueBy = (arr, fn) =>
arr.filter((v, i) => arr.every((x, j) => (i === j) === fn(v, x, i, j)));
console.log(filter_Non_UniqueBy(
[
{ id: 0, value: 'a' },
{ id: 1, value: 'b' },
{ id: 2, value: 'c' },
{ id: 1, value: 'd' },
{ id: 0, value: 'e' }
],
(a, b) => a.id == b.id
));
Пример вывода:
[{ "ID": 2, "значение": "с"}]
Блок - схема:
Демонстрация в реальном времени:
См. Pen javascript-basic-упражнение-1-23 от w3resource ( @ w3resource ) на CodePen .
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите программу на JavaScript для фильтрации неуникальных значений в массиве.
Далее: Напишите программу на JavaScript для декапитализации первой буквы строки.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования