数组去重的多种方法
作者:互联网
var arr = [1,1,2,3,4,5,5,6,5]
var newArr = [];
1.双重循环去重+splice();
for (var i = 1; i < arr.length; i++) {
for (var j = 0; j < i; j++) {
if (arr[i] === arr[j]) {
arr.splice(i, 1);
i--;
}
}
}
console.log(arr);//[1, 2, 3, 4, 5, 6]
2.使用Array.indexOf();
indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1
for(var i = 0;i< arr.length;i++) {
if(newArr.indexOf(arr[i])===-1) {
newArr.push(arr[i])
}
}
console.log(newArr);//[1, 2, 3, 4, 5, 6]
3.使用Array.includes();
includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false
for(var i = 0; i< arr.length; i++) {
if(!newArr.includes(arr[i])) {
newArr.push(arr[i]);
}
}
console.log(newArr);//[1, 2, 3, 4, 5, 6]
4.使用Array.sort();
var arr = arr.sort(); //先排序
console.log(arr);//[1, 1, 2, 3, 4, 5, 5, 5, 6]
for(var i =1; i<arr.length+1;i++) {
if(arr[i] !== arr[i-1]) {
newArr.push(arr[i-1])
}
}
console.log(newArr);// [1, 2, 3, 4, 5, 6]
标签:多种,arr,console,log,++,newArr,数组,var,方法 来源: https://blog.csdn.net/SUE_DONG/article/details/117429086