var array = [{ id: 1, name: "张三"},{ id: 2, name: "李四"},{ id: 3, name: "张龙"},{ id: 4, name: "赵虎"},{ id: 5, name: "王朝"},{ id: 1, name: "刘金刚"},{ id: 6, name: "马汉"},
]var obj = {};/** 方法一 reduce函数* 按照id 相同进行去重
*/
array = array.reduce(function (item, next) {obj[next.id] ? '' : obj[next.id] = true && item.push(next);return item;}, []);console.log(array) // 去重后数组/** 方法二 es6写法* 按照传入属性 进行去重
*/var array2 = [{ id: 1, name: "张三"},{ id: 2, name: "李四"},{ id: 3, name: "张龙"},{ id: 4, name: "赵虎"},{ id: 5, name: "王朝"},{ id: 1, name: "刘金刚"},{ id: 6, name: "马汉"},
]/*** arr:要去重的数组* attr: 去重根据的属性*/
function unique(arr, attr) {const res = new Map();return arr.filter((item) => {var attrItem = item[attr]return !res.has(attrItem) && res.set(attrItem, 1)})}console.log(unique(array2, "id")) // 去重后数组