JavaScript: получить все уникальные значения массива на основе предоставленной функции компаратора
Основной JavaScript (синтаксис ES6): упражнение 108 с решением
Напишите программу на JavaScript, чтобы получить все уникальные значения массива на основе предоставленной функции компаратора.
Пример решения:
HTML-код:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Get all unique values of an array, based on a provided comparator function</title>
</head>
<body>
</body>
</html>
Код JavaScript:
//#Source https://bit.ly/2neWfJ2
const uniqueElementsBy = (arr, fn) =>
arr.reduce((acc, v) => {
if (!acc.some(x => fn(v, x))) acc.push(v);
return acc;
}, []);
console.log(uniqueElementsBy(
[
{ 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": 0, "значение": "а"}, { "идентификатор": 1, "значение": "б"}, { "идентификатор": 2, "значение": "с"}]
Блок - схема:
Демонстрация в реальном времени:
См. Pen javascript-basic-упражнение-108-1 от w3resource ( @ w3resource ) на CodePen .
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите программу на JavaScript, чтобы получить все уникальные значения (образующие правую часть массива) массива на основе предоставленной функции компаратора.
Далее: Напишите программу на JavaScript, чтобы получить n-й элемент данного массива.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования