美文网首页
关于js 对象数组去重的方法整理

关于js 对象数组去重的方法整理

作者: whypretender | 来源:发表于2019-04-05 17:32 被阅读0次

    方法一:

    采用对象访问属性的方法,判断属性值是否存在,如果不存在就添加。

    方法二:

    采用数组中的reduce方法,遍历数组,也是通过对象访问属性的方法。

    关于reduce语法:

    array.reduce(function(total, currentValue, currentIndex, arr), initialValue)

    参数

    参数描述

    function(total,currentValue, index,arr)必需。用于执行每个数组元素的函数。

    函数参数:

    参数描述

    total必需。初始值, 或者计算结束后的返回值。

    currentValue必需。当前元素

    currentIndex可选。当前元素的索引

    arr可选。当前元素所属的数组对象。

    initialValue可选。传递给函数的初始值

    例子:

    var arr =

    [{ key: '1', value: 'aa'},

    { key: '2', value: 'bb' },

    { key: '3', value: 'cc'},

    {key: '4',value: 'dd' },

    {key: '1',value: 'aa'}];

    方法一:利用对象访问属性的方法,判断对象中是否存在key

    var result = [];

    var obj = {};

    for(var i =0; i<arr.length;i++){

        if(!obj[arr[i].key]){

            result.push(arr[i]);

             obj[arr[i].key] =true;

        }

    }

    console.log(result);

     方法二:利用reduce方法遍历数组,reduce第一个参数是遍历需要执行的函数,第二个参数是item的初始值

    var obj = {};

    arr = arr.reduce(function(item, next) {

             obj[next.key] ? ' ' : obj[next.key] =true&& item.push(next);

              return item; 

    }, []); //设置item默认类型为数组,并且初始值为空的数组

    console.log(arr);

    相关文章

      网友评论

          本文标题:关于js 对象数组去重的方法整理

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