精华内容
下载资源
问答
  • 剔除数组中id相同且name相同的对象元素,将保留前者。 let array=[ {"id":"1","name":"a","age":"18"}, {"id":"2","name":"b","age":"18"}, {"id":"1","name":"c","age":"20"}, {"id":"1","name":"a","age":"30"}...

    1.剔除数组中id相同且name相同的对象元素,将保留前者。

    let array=[
    	{"id":"1","name":"a","age":"18"},
    	{"id":"2","name":"b","age":"18"},
    	{"id":"1","name":"c","age":"20"},
    	{"id":"1","name":"a","age":"30"},
    ]
    
    for (let i = 0; i < array.length; i++) {
    	for (let j =i+1; j <array.length; ) {
        	if (array[i].id=== array[j].id&&
            	array[i].name=== array[j].name ) {//通过属性进行匹配;
                	array.splice(j, 1);//去除重复的对象;
            }else {
                  j++;
            }
         }
    }
    console.log(array);
    //  {"id":"1","name":"a","age":"18"},
    //	{"id":"2","name":"b","age":"18"},
    //	{"id":"1","name":"c","age":"20"},
    

    2.计算数组中重复出现元素的个数

    var arr = ["apple","orange","apple","orange","pear","orange"]; 
        function getWordCnt(){ 
            var obj = {}; 
            for(var i= 0, l = arr.length; i< l; i++){ 
                var item = arr[i]; 
                obj[item] = (obj[item] +1 ) || 1; 
            } 
            return obj; 
        }
        console.log(getWordCnt());//{apple: 2, orange: 3, pear: 1}
    

    3.去除数组中changeBillNo相同的对象

    let hash = {}; 
    //去除changeBillNo相同的元素
    array = array.reduce(function(item, next) { 
         hash[next.changeBillNo] ? '' : hash[next.changeBillNo] = true && item.push(next); 
         return item 
    }, []) 
    
    展开全文
  • 近期遇到一个项目,后台反的数据有重复,需要去重,去重的办法很多,这里用到了reduce去除数组中的重复数据,亲测可用 首先给大家看下我的数据格式 var list = [ {"id":"1","score":"基础分"}, {"id":"2","score":...

    近期遇到一个项目,后台反的数据有重复,需要去重,去重的办法很多,这里用到了reduce去除数组中的重复数据,亲测可用
    首先给大家看下我的数据格式

    var list = [
        {"id":"1","score":"基础分"},
        {"id":"2","score":"社会贡献"},
        {"id":"2","score":"社会贡献"},
        {"id":"3","score":"工程质量"},
        {"id":"4","score":"信用评价"},
    ]
    

    能看到id为2是重复的 需要去掉重复值,重新组成数组 直接上代码

        var hash = {};
        var newData = [...list]
        list = newData.reduce(function (item, next) {
         hash[next.value] ? '' : hash[next.value] = true && item.push(next);
            return item
          }, [])
    

    输出list 得出结果

    var list = [
        {"id":"1","score":"基础分"},
        {"id":"2","score":"社会贡献"},
        {"id":"3","score":"工程质量"},
        {"id":"4","score":"信用评价"},
    ]
    
    展开全文
  • //去除数组中相同的对象 deteleObject(obj) { var uniques = []; var stringify = {}; for (var i = 0; i < obj.length; i++) { var keys = Object.keys(obj[i]); k...
     //去除数组中相同的对象
        deteleObject(obj) {
            var uniques = [];
            var stringify = {};
            for (var i = 0; i < obj.length; i++) {
                var keys = Object.keys(obj[i]);
                keys.sort(function (a, b) {
                    return (Number(a) - Number(b));
                });
                var str = '';
                for (var j = 0; j < keys.length; j++) {
                    str += JSON.stringify(keys[j]);
                    str += JSON.stringify(obj[i][keys[j]]);
                }
                if (!stringify.hasOwnProperty(str)) {
                    uniques.push(obj[i]);
                    stringify[str] = true;
                }
            }
            uniques = uniques;
            return uniques;
        }

     

    展开全文
  • 去除数组中重复的对象 const arr=[ { id:1 lable:'李白', }, { id:1 lable:'杜甫', }, { id:2 lable:'王维', } ] const id='id' //这里定义按照过滤的对象的属性名称 const newArr = arr.reduce...

    去除数组中重复的对象

    const arr=[
    	{
    		id:1
    		lable:'李白',
    	},
    	{
    		id:1
    		lable:'杜甫',
    	},
    	{
    		id:2
    		lable:'王维',
    	}
    ]
    
    const id='id' //这里定义按照过滤的对象的属性名称
    
    const newArr = arr.reduce((all,next)=>all.some((item)=>item[id]==next[id])?all:[...all,next],[]);
    
    展开全文
  • // 去除重复订单对象 var data=[ {id:1,name:123}, {id:1,name:123}, {id:2,name:123}, {id:2,name:123}, {id:1,name:123} ] let hash = {}; data =data.reduce((preVal, curVal) => { ha...
  • js去除数组对象中的重复对象

    千次阅读 2020-03-06 09:58:20
    1、根据数组对象中的id作比较,id相同的去掉。 var arr = [ { DocESOPTerminalId: "632cffab-4d49-45da-9ef7-af263914b6f9", LocationName: "测试列", FactoryId: "9c895538-6cf0-49a9-aca0-89531936118e", ...
  • 本文实例讲述了JS基于对象的特性实现去除数组中重复项功能。分享给大家供大家参考,具体如下: 数组去重方法有很多,不同方法效率也不相同。如前面文章JS实现数组去除重复数据算法小结中就总结分析了4种实现...
  • let arr = [{id: 1},{id: 2},{id: 3},{id: 4}] let arr1 = [{id: 3},{id: 4},{id: 5},{id: 6}] arr = arr.filter(item => { let list = arr1.map(v => v.id); return !list.includes(item.id) ...
  • 判断两对象是否相等 function isObjectValueEqual(a, b) { var aProps = Object.getOwnPropertyNames(a); var bProps = Object.getOwnPropertyNames(b); if (aProps.length != bProps.length) { ...
  • js去除数组中的重复元素可以利用js中对象中的key永远是不会重复的这个特性来处理,分为以下两步: 1.将数组转换为对象,并且将数组中的元素作为对象的key 2.根据对象的key重新构建数组 /** * 数组转对象 * ...
  • const arr=[ { name:‘ssq’, id:1 }, ...const id=‘id’ //这里定义按照过滤的对象的属性名称 const newArr=arr.reduce((all,next)=>all.some((item)=>item[id]==next[id])?all:[…all,ne...
  • 007 //利用js中对象特性... //可以先将数组转化为js对象,将数组中的值转化为对象的key。 //利用js对象中key值的唯一性,去掉重复属性。 //再将对象转化为数组。 //将数组转化为js对象. fu
  • 本文介绍了另一种数组去重方法:根据JS对象的特性去除数组中重复项方法。一、JS对象的特性(本文中所使用特性):key始终唯一 引例:说明对象key值唯一性,即当重新给js已有属性赋值时候,实际上是覆盖了...
  • 去除数组中的重复数据,又叫排重,本文给出的函数和php原生array_unique的区别在于array_unique要求是字符串,而本函数可以是数组和对象
  • 对象数组去重思路是将对象序列化为字符串,然后使用set结构去重,最后再反序列化为对象。 const arr = [ { name: 'haha', age: 12 }, { name: 'haha', age: 12 }, { name: 'haha', age: 12 } ]; // ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 431
精华内容 172
关键字:

去除数组中的对象