您可以单线完成
const uniqueNames = Array.from(new Set(names));
//它将返回唯一项的集合
请注意,@ Wild Widow指出了您的错误之一-您未使用return语句。(当我们忘记时,它很烂,但是发生了!)
我还要补充一点,如果考虑到filter(a,b,c)函数的第三个参数-
其中c是要遍历的数组,则可以简化代码,并且回调可以更重用。这样,您可以按照以下方式重构代码:
const uniqueNames = names.filter((val, id, array) => { return array.indexOf(val) == id; });此外,如果使用es6,甚至不需要return语句
const uniqueNames = names.filter((val,id,array) => array.indexOf(val) == id);


![删除重复的数组值,然后将其存储[反应] 删除重复的数组值,然后将其存储[反应]](http://www.mshxw.com/aiimages/31/649871.png)
