let arr = [{id:1, name: 'aaa'}, {id: 2, name: 'bbb'}, {id:3, name: 'cccc'}, {id:4, name: 'dddd'}]
let arr1 = [1,2]
let newarr = arr.filter((item)=>{
return new Set(arr1).has(item.id)
})
console.log(newarr)
let arr = [1, 2, 2, 3, 1, 4, 4, 8, 8, 8, 8, 5, 5, 6, 6, 7, 7, 8]
//第一次遍历数组
for (var i = 0; i < arr.length; i++) {
//第二次遍历数组,是第一遍历数组下标的下一个数据
for (var j = i + 1; j < arr.length; j++) {
//判断第一层遍历数据和第二层遍历的数据是否相同
if (arr[i] == arr[j]) {
//如果数据相同则通过splice删除一条相同的数据
arr.splice(i, 1)
//i是第一层遍历的下标,因为上一步删除了一条数据,所以下标也需要减一,否则实际下标,要比数组中的数据更多
i--;
//j 也同样需要和i一样减一,保持遍历依旧同步判断
j--;
}
}
}
//去重完成以后,数组数据在控制台输出
console.log(arr)
网友评论