问题描述:
工作中经常遇到一个数组列表需要过滤掉另外另外一个数组的元素,剩下的组成一个新的数组,思路就是利用数组的filter方法,将判断的属性如例子的name属性放到一个判断数组,然后利用filter方法过滤即可
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>数组的过滤</title>
</head>
<body>
<script>
// 实现一个数组过滤掉另一个数组元素的方法
let arr = [{id:1,name:"aa"},{id:2,name:"bb"}];
// 过滤字段数组
let filterArr = [];
arr.map((val,i) =>{
filterArr.push(val.name);
})
let arr2 = [{id:1,name:"aa"},{id:2,name:"bb"},{id:3,name:"cc"},{id:4,name:"dd"},{id:5,name:"ee"}];
let arr3 = arr2.filter((val,i)=>{
// 过滤arr
return !filterArr.includes(val.name);
})
console.log('arr2过滤arr1',arr3);//[{id:3,name:"cc"},{id:4,name:"dd"},{id:5,name:"ee"}]
</script>
</body>
</html>
希望文档能帮助到您,最后求个赞,谢谢~