Подтвердить что ты не робот

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, который может это сделать напрямую.

4b9b3361

Ответ 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