用splice()方法实现去重
var arr=[10,7,5,4,7,4,4,10]; for(var i=0;i<arr.length;i++){ for(var j=i+1;j<arr.length;j++){ //j=i+1是用i后面的第一个数字开始比较 if(arr[i]==arr[j]){ arr.splice(j,1); //i等于j的话就删除下标为j对应的元素,并且只删除一个 j--; //执行for循环会自增1,从而跳过一个元素,j--就是避免多个相邻元素无法去重 } } } console.log(arr);
用indexOf()方法来实现去重
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
如果没有找到匹配的字符串则返回 -1。
var arr=[10,7,5,4,7,7,4,10];
var newArr=[];
//创建一个空数组来接收
for(var i=0;i<arr.length;i++){
if(newArr.indexOf(arr[i])===-1){
newArr.push(arr[i])
}
}
console.log(newArr);
还有一个简便的方法:Set() 它类似于数组,但是成员的值都是唯一的,没有重复的值。所以可以用Set()方法来实现数组去重,代码如下
var arr=[10,7,5,4,7,7,4,10];
var sum=new Set(arr);
console.log(sum);