var array = [20, 10, 10, 10, 15, 19, 30, 7, 7, 7, 19, 25, 31, 31];
var newArray = array.filter((v, i, self) => {
return self.indexOf(v) === i;
})
console.log(newArray);
说明:
(v, i, self):当前比较的值(v),索引(i),原数组(self);
依次为当前的值、当前的位置和原数组
self.indexOf(v) === i:比较的值(v)第一次在原数组(self)出现的位置,是否等于当前的索引位置,若是等于则加入新数组,若是不等于,则不加入新数组
例如索引为3的10:(10,3,array);self.indexOf(10)为1,第一次出现的索引值为1,不等于它本身现在的索引值3,所以不加入新数组,达到去重的效果