方法一(Set()方法自带去重):
var mytest_a = [1,2,3,4,5,1,2,3]
var arr = new Set(mytest_a)
/* var cb = Array.from(arr)
console.log(cb); */
var cb2 = [...arr] //将Set对象转换成数组
console.log(cb2);
方法二(使用indexOf()方法去重):
let mytest_b = [1,2,3,1,2,3]
let sArr = []
mytest_b.forEach((i,d)=>{
if(sArr.indexOf(i) == -1){
sArr.push(i)
}
});
console.log('方法二:',sArr);
方法三(使用includes()方法去重):
var arr = [1,2,NaN,1,4,2,NaN]
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if (!newArr.includes(arr[i])) {
newArr.push(arr[i]);
}
}
console.log(newArr); // [1, 2, NaN, 4]
注意:
indexOf()方法无法识别数组的NaN成员,如下示例:
let mytest_b = [1, 2, 3, 1, 2, 3, NaN, NaN]
let sArr = []
mytest_b.forEach((i, d) => {
if (sArr.indexOf(i) === -1) {
sArr.push(i)
}
});
console.log('方法二:', sArr); //结果[1, 2, 3, NaN, NaN]