目录
1、原数据
- 1、原数据
- 2、说明
- 3、方法一
- 4、方法二
let originData = [ { id: 1, age: 23, name: '张三' }, { id: 2, age: 27, name: '王五' }, { id: 3, age: 13, name: '李四' }, { id: 4, age: 19, name: '王五' }, { id: 5, age: 32, name: '赵六' }, { id: 6, age: 18, name: '张三' }, ];2、说明
根据 name 字段去重。
3、方法一// 利用 reduce 方法遍历数组, reduce 第一个参数是遍历需要执行的函数, // 第二个参数是 item 的初始值 function reduces(datas) { var obj = {}; datas = datas.reduce(function (item, next) { obj[next.name] ? "" : (obj[next.name] = true && item.push(next)); return item; }, []); return datas; }; console.log(reduces(originData));4、方法二
// 参数 arr:源数据 // 参数 field:根据 name 字段去重 function unique(arr, field) { let map = new Map(); arr.forEach((item) => { if (!map.has(item[field])) { map.set(item[field], item); } }); return [...map.values()]; }; console.log(unique(originData, 'name'));