美文网首页
js实现数组去重

js实现数组去重

作者: LYF闲闲闲闲 | 来源:发表于2017-09-04 21:48 被阅读14次

定义一个新数组,判断旧数组中的元素是否在新数组中已存在

function unique(array){
    var n = [];
    for(var i = 0;i < array.length; i++){
        if(n.indexOf(array[i]) == -1) 
           n.push(array[i]);
    }
    return n;
}

对数组进行排序后,比较前后两个相邻元素

function unique(){
    var arr = [9, 9, 111, 2, 3, 4, 4, 5, 7];
    var sortedArr = arr.sort(function(a,b){return a-b}); 
    var results = [];
    for (var i = 0; i < arr.length; i++) {
    if (sortedArr[i + 1] !== sortedArr[i]) {
        results.push(sortedArr[i]);
    }
}
return results;
}

根据对象的属性不重复

Array.prototype.unique = function() {
    var res = []
    var json = {}
    for (var i = 0; i < this.length; i++) {
        if(!json[this[i]]){ // 利用对象属性不重复
            res.push(this[i])
            json[this[i]] = 1  // 传值随意
        }
    }
    return res
}
var arr = [2,4,66,55,33,55,3,4,4,32,2]
console.log(arr.unique())

利用对象字面量的key与value关联性

function distinct(arr) {
    var obj = {},
        i = 0,
        len = 0;
    if (Array.isArray(arr) && arr.length > 0) {
        for (i = 0; i < arr.length; i += 1) {
            obj[arr[i]] = arr[i];
        }
        return Object.keys(obj);  //返回对象的可枚举属性和方法的名称
    }
}
var arr = [9, 9, 111, 2, 3, 4, 4, 5, 7];
console.log(distinct(arr));

ES6新特性

Array.from(new set(array));

参考:https://segmentfault.com/q/1010000000262609

相关文章

  • js实现数组去重

    //借助indexOf()方法判断此元素在该数组中首次出现的位置下标与循环的下标是否相等 方法一: functio...

  • js实现数组去重

    定义一个新数组,判断旧数组中的元素是否在新数组中已存在 对数组进行排序后,比较前后两个相邻元素 根据对象的属性不重...

  • js实现数组去重

  • js实现数组去重

  • Array集结号

    实现数组去重的几种方法 数组去重一 数组去重二 利用数组indexof+push实现数组去重 数组去重三 利用对象...

  • js 数组去重,格式转换方法

    1,对象数组去重 2,用js实现将二维数组格式化转换成树状数组 3,将树结构数据转换为一维数组 4, 数组去重

  • JS数组去重算法实现

    如:魅族笔试题 本文就 js 如何实现数组去重整理出5种方法,并附上演示Demo 以及 源码。 1.遍历数组法 最...

  • 数组的去重和数组中对象的去重

    数组中对象去重 方式1 jq方式 方式2 原生js方式 普通数组的去重 方式1 普通的数组去重js 方式2 Se...

  • JS数组去重常见方法分析

    数组去重是开发中经常会遇到的问题,也是面试时经常会考到的。JS实现数组去重可以有多种方法: 一、简单的去重方法 用...

  • js代码题

    js对象的深度克隆 js数组去重 js常用设计模式的实现思路,单例,工厂,代理,装饰,观察者模式等

网友评论

      本文标题:js实现数组去重

      本文链接:https://www.haomeiwen.com/subject/quhyjxtx.html