码迷,mamicode.com
首页 > 编程语言 > 详细

js数组去重

时间:2018-08-23 19:21:13      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:对比   元素   for   循环   数组   重复   false   兼容   OLE   

循环比较

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数组去重

标签:对比   元素   for   循环   数组   重复   false   兼容   OLE   

原文地址:https://www.cnblogs.com/conglvse/p/9525252.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!