问题
数组对象如何去重,把获取的数据 去重,for循环的时候不去重 根据idnex 会报错
数组对象如何去重,把获取的数据 去重,for循环的时候不去重 根据idnex 会报错
将数组中每个对象转换为json字符串,相同对象转化为的json字符串是相同的,根据这个思路去重
/**
* 数组对象去重
* @param {Array} arr
*/
function uniqueArrObj (arr) {
let res = []
for (let i = 0, len = arr.length; i < len; i++) {
let item = JSON.stringify(arr[i])
if (!res.includes(item)) res.push(item)
}
res = res.map(item => JSON.parse(item))
return res
}
const arr = [
{ a: 'hello', b: { name: '王五' } },
{ a: 'hello', b: { name: '李四'} },
{ a: 'world', b: { name: '李四'} },
{ a: 'hello', b: { name: '王五'} }
]
console.log(uniqueArrObj(arr))