js数组去重
Posted conglvse
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js数组去重相关的知识,希望对你有一定的参考价值。
循环比较
var a=[1,2,3,2];
var b=[];
for(var i=0;i<a.length;i++){
var k=false;
for(var j=i+1;j<len;j++){
if(a[i]==a[j]){
k=true;
break;
}
}
if(!k) {
b.push(a[i])
}
}
console.log(b);
先排序,后比较相邻元素
//先排序,后比较相邻元素
a.sort();
var res = [a[0]];
for(var i = 1; i < a.length; i++){
if(a[i] !== res[res.a - 1]){
b.push(a[i]);
}
}
console.log(b);
与临时数组比较
//IE8以下有兼容问题,比较浪费资源和时间。比较浪费资源和时间。
var a = [1, 2, 3, 2];
var arr = []; //定义一个临时数组
for (var i = 0; i < a.length; i++) { //循环遍历当前数组
//判断当前数组下标为i的元素是否已经保存到临时数组
//如果已保存,则跳过,否则将此元素保存到临时数组中
if (arr.indexOf(a[i]) == -1) {
arr.push(a[i]);
}
}
console.log(arr);
与对象比较
//每次取出一个元素与对象进行对比,如果不重复,则把它存放到结果数组中,同时把这个元素的内容作为对象的一个属性,并赋值为1
var a = [1, 2, 3, 2];
var b = [];
var json = {};
for(var i = 0; i < a.length; i++) {
if (!json[a[i]]) {
b.push(a[i]);
json[a[i]] = 1;
}
}
console.log(b);
ES6 数组解构方法
var a=[1,2,3,2]
[...new Set(a)]//得到[1,2,3]去重
以上是关于js数组去重的主要内容,如果未能解决你的问题,请参考以下文章