NodeJS:如何从Array中删除重复项

时间:2014-04-23 07:29:48

标签: arrays node.js duplicates

我有一个数组:

[
    1029,
    1008,
    1040,
    1019,
    1030,
    1009,
    1041,
    1020,
    1031,
    1010,
    1042,
    1021,
    1030,
    1008,
    1045,
    1019,
    1032,
    1009,
    1049,
    1022,
    1031,
    1010,
    1042,
    1021,
]

现在我要从中删除所有重复项。 NodeJ中是否有任何方法可以直接执行此操作。

2 个答案:

答案 0 :(得分:53)

不,node.js中没有内置方法,但是在javascript中有很多方法可以做到这一点。您所要做的就是look around,因为这已经得到了解答。

uniqueArray = myArray.filter(function(elem, pos) {
    return myArray.indexOf(elem) == pos;
})

答案 1 :(得分:28)

没有内置方法可以从数组唯一方法中获取,但是您可以查看名为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