美文网首页
数组对象去重

数组对象去重

作者: 买买买买菜 | 来源:发表于2018-08-07 19:29 被阅读6次
// 去重
function unique(arr) {
    var res = [arr[0]];
    for (var i = 0; i < arr.length; i++) {
        var repeat = false;
        for (let j = 0; j < res.length; j++) {
            if (isObjectValueEqual(arr[i], res[j])) {
                repeat = true;
                break;
            }
        }
        if (!repeat) {
            res.push(arr[i]);
        }
    }
    return res;
}

//判断两对象是否相等
function isObjectValueEqual(a, b) {
    var aProps = Object.getOwnPropertyNames(a);
    var bProps = Object.getOwnPropertyNames(b);
    if (aProps.length != bProps.length) {
        return false;
    }
    for (var i = 0; i < aProps.length; i++) {
        var propName = aProps[i];
        if (a[propName] !== b[propName]) {
            return false;
        }
    }
    return true;
}

var a=[{a:1},{a:1}]
a=unique(a)  // [{a:1}]

相关文章

  • 实现数组去重有哪些方式

    简单的数组去重 数组对象去重

  • 数组对象去重方法:

    数组对象去重方法: // 数组对象去重 ```` toRetry = (arr = []) => { let re...

  • 数组去重

    分类 非对象数组去重 对象数组去重 分类一 --- 非对象数组去重 方法一: set(es6常用) 方法二:red...

  • 数组去重的四种方法

    利用双for循环去重 利用对象数组去重 利用对象数组去重并且记录重复次数 通过创建一个新数组进行数组去重

  • js数组去重、对象数组去重

    普通数组去重 一、普通数组去重 方法一:遍历数组法 方法二:排序法 方法三:对象法 对象数组去重 方法一:将对象数...

  • Array集结号

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

  • js reduce去重用法

    reduce不仅仅可以数据累加,还可以实现去重效果。 重复次数计算 数组去重 数组对象去重,转为数组 对象去重

  • ES6数组去重

    普通数组去重 方法1 方法2 对象数组去重

  • 数组去重的几种方式

    上篇我们写到了数组中包含多条对象的去重方式数组中包含多条对象的去重方式,今天我们就写一下普通数组去重吧. 数组去重...

  • 数组对象去重的常见操作

    前言: 数组对象去重与数组去重的不同点在于,数组对象需要指定一个属性(key值)再进行去重。 1.数组对象的自定义...

网友评论

      本文标题:数组对象去重

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