js对象数组 按对象的某一属性进行去重
生活随笔
收集整理的這篇文章主要介紹了
js对象数组 按对象的某一属性进行去重
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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")) // 去重后數組
?
總結
以上是生活随笔為你收集整理的js对象数组 按对象的某一属性进行去重的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DB Stack Overflow
- 下一篇: CAD迷你看图V9.5版