js对象数组 按对象的某一属性进行去重
生活随笔
收集整理的這篇文章主要介紹了
js对象数组 按对象的某一属性进行去重
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
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函數(shù)* 按照id 相同進(jìn)行去重
*/
array = array.reduce(function (item, next) {obj[next.id] ? '' : obj[next.id] = true && item.push(next);return item;}, []);console.log(array) // 去重后數(shù)組/** 方法二 es6寫(xiě)法* 按照傳入屬性 進(jìn)行去重
*/var array2 = [{ id: 1, name: "張三"},{ id: 2, name: "李四"},{ id: 3, name: "張龍"},{ id: 4, name: "趙虎"},{ id: 5, name: "王朝"},{ id: 1, name: "劉金剛"},{ id: 6, name: "馬漢"},
]/*** arr:要去重的數(shù)組* attr: 去重根據(jù)的屬性*/
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")) // 去重后數(shù)組
?
總結(jié)
以上是生活随笔為你收集整理的js对象数组 按对象的某一属性进行去重的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: DB Stack Overflow
- 下一篇: CAD迷你看图V9.5版