1.方法一:
// ES6對象數組所有屬性去重,篩選每個數組項的字符
function unique(arr) {
const map = new Map()
return arr.filter( item => !map.has(JSON.stringify(item)) && map.set(JSON.stringify(item), 1))
}
// 或
function unique(arr) {
return [...new Set(arr.map(e => JSON.stringify(e)))].map(e => JSON.parse(e))
}
2.方法二:
// ES6根據一維對象數組某個屬性去重且該屬性的值為簡單數據類型,比較實用的一種的方法,也基本沒有什么性能影響
function unique(arr, key) {
const map = new Map()
return arr.filter((item) => !map.has(item[key] + '') && map.set(item[key] + '', 1))
}
.
