NodeJS: как удалить дубликаты из массива
У меня есть массив:
[
1029,
1008,
1040,
1019,
1030,
1009,
1041,
1020,
1031,
1010,
1042,
1021,
1030,
1008,
1045,
1019,
1032,
1009,
1049,
1022,
1031,
1010,
1042,
1021,
]
Теперь я хочу удалить из него все дубликаты. Есть ли какой-либо метод в NodeJs, который может это сделать напрямую.
Ответы
Ответ 1
Нет, встроенный метод не существует в node.js, однако есть много способов сделать это в javascript. Все, что вам нужно сделать, это посмотреть вокруг, поскольку на это уже был дан ответ.
uniqueArray = myArray.filter(function(elem, pos) {
return myArray.indexOf(elem) == pos;
})
Ответ 2
Нет встроенного метода для получения уникальных методов массива, но вы можете посмотреть библиотеку lodash, которая имеет такие отличные методы _.uniq(array)
.
Кроме того, предложите альтернативный метод, так как Node.js теперь поддерживает Set. Вместо использования стороннего модуля используйте встроенную альтернативу.
var array = [
1029,
1008,
1040,
1019,
1030,
1009,
1041,
1020,
1031,
1010,
1042,
1021,
1030,
1008,
1045,
1019,
1032,
1009,
1049,
1022,
1031,
1010,
1042,
1021,
];
var uSet = new Set(array);
console.log([...uSet]); // Back to array