首页 > 技术文章 > js实现数组对象覆盖去重

wrongcode 2019-09-17 14:38 原文

let arr = [
  {
    name: '张三',
    age:'30'
  },
  {
    name: '李四',
    age:'15'
  },
  {
    name: '王五',
    age:'20'
  },
  {
    name: '张三',
    age:'18'
  },
  {
    name: '王五',
    age:'16'
  }
];

let obj = {};

for(let i = 0; i < arr.length; i++) {
    for(let j = 1; j < arr.length; j++) {
        arr[i].age = arr[i].name == arr[j].name ? arr[j].age : arr[i].age;
    }
};

arr = arr.reduce((item, next) => {
   obj[next.name] ? '' : obj[next.name] = true && item.push(next);
   return item;
}, []);

console.log(arr)

 

推荐阅读