最近一直在做项目,过程中遇到过很多问题,现在把遇到的问题记录下来,和大家一起分享!
问题描述
请求后台2个接口,返回了2组不同的数组,其中,数组arr2中的数据在数组arr1都有,需要在数组arr1中将数组arr2与数组arr1相同的元素,从数组arr1中删除。
方法一
<script>
let arr1 = ['a', 'c', 'b', 'd', 'e', 'f', 'g']
let arr2 = ['b', 'd', 'g']
function removeRepeat(arr1, arr2) {
for (let i = 0; i < arr2.length; i++){
for(let j = 0; j < arr1.length; j++){
if(arr2[i] === arr1[j]){
// 删除arr1数组里和arr2数组中相同的元素
arr1.splice(j, 1)
}
}
}
// 返回数组arr1
return arr1
}
let result = removeRepeat(arr1, arr2)
// 控制台打印输出结果
console.log("arr1: ", result)
</script>
方法二
<script>
let arr1 = ['a', 'c', 'b', 'd', 'e', 'f', 'g']
let arr2 = ['b', 'd', 'g']
arr1 = arr1.filter(item => !arr2.includes(item))
// 控制台打印输出结果
console.log("arr1: ", arr1)
</script>
结果
arr1: ["a", "c", "e", "f"]