需求: 去除数组里id重复的对象
let arr = [
{
id: 1,name: 'zhang' },
{
id: 1,name: 'li'},
{
id: 2,name: 'he'},
{
id: 2,name: 'zhao'},
{
id: 2,name: 'zhao'},
{
id: 3,name: 'liu'},
{
name: 'li',id: 4}
]
// 方法一、 reduce
let obj = {
}
arr = arr.reduce(function (item, next) {
obj[next.id] ? '' : (obj[next.id] = true && item.push(next))
return item
}, [])
// 方法二、 indexOf:查找指定字符串第一次出现的位置
let arr1 = []
let newArr = []
for(let i in arr){
if(arr1.indexOf(arr[i].id == -1)){
newArr.push(arr[i]);
}
}
console.log(newArr)
// 方法三、 类似reduce
let array = [] //存放去重过后的数据
let obj = {