1. 普通循环
var arr = ['c', 'a', 'z', 'a', 'x', 'a', 'x', 'c', 'b'];
var newArr=[];
for(var i=0;i<arr.length;i++){
//indexOf 这里也可以用includes和slice等各种方法来操作
if(newArr.indexOf(arr[i]) == -1){
newArr.push(arr[i]);
}
}
console.log(newArr);// ["c", "a", "z", "x", "b"]
2.利用map和扩展运算符...
var arr = ['c', 'a', 'z', 'a', 'x', 'a', 'x', 'c', 'b'];
var newArr=[...new Set(arr)]
//或者 Array.from(new Set(arr)
console.log(newArr);// ["c", "a", "z", "x", "b"]
3.利用filter和indexOf
function unique(arr) {
return arr.filter(function(item, index, arr) {
//返回原始数组中第一个item,其余相等的item都去掉了
return arr.indexOf(item) === index;
});
}
var arr = ['c', 'a', 'z', 'a', 'x', 'a', 'x', 'c', 'b'];
console.log(unique(arr));// ["c", "a", "z", "x", "b"]