Я получил этот вопрос для практики, и формулировка смутила меня, так как я вижу 2 результата, которые он мог бы хотеть.
И в любом случае, я хотел бы увидеть оба решения.
Например, если у меня есть массив:
let arr = [1, 2, 4, 2, 3, 3, 4, 5, 5, 5, 8, 8, 9, 10];
Я воспринимаю это как желание получить конечный результат как:
let finalResult = [1, 2, 3, 4, 5, 8, 9, 10];
ИЛИ ЖЕ:
let finalResult = [1, 9, 10];
Разница между ними заключается в том, что один просто удаляет любые повторяющиеся числа и оставляет остальные, а второй просто хочет любое число, которое не является дубликатом.
В любом случае, я хотел бы написать две функции, которые выполняют одну из них.
Это, данное кем-то другим, дает мне второе решение.
let elems = {},
arr2 = arr.filter(function (e) {
if (elems[e] === undefined) {
elems[e] = true;
return true;
}
return false;
});
console.log(arr2);
Я не уверен насчет функции для первого (удалите все дубликаты).