javaScript中的filter()方法和find()方法,以及获取两数组补集的解决方法

今天遇到一个需求,有两个数组(Array和arr),一个大数组Array,一个小数组arr,arr中的元素Array中都有,需求是在Array中去掉所有的arr,即获取👇图中灰色部分

本来是想遍历然后一个一个的比,👇就比如说。。。。。这一大长串

<button onclick="myfunction()">click</button>
    <script>
        let Array = [32, 4, 11, 55, 46, 99, 104, 54, 16, 33, 78, 43, 40]
        let arr = [32, 33, 16, 40]
        function myfunction() {
            let newarr = []
            let flag = true
            Array.forEach(i1=>{
                for(let i = 0; i< arr.length; i++){
                    if(arr[i] === i1){
                        flag = false
                        break
                    }
                }
                if(flag){
                    newarr.push(i1)
        
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
数组的`filter`和`find`方法JavaScript常用的数组方法,用于对数组进行筛选和查找操作。 `filter`方法用于筛选出满足特定条件的数组元素,并返回一个新的数组。它接受一个回调函数作为参数,该回调函数会被应用于数组中的每个元素。回调函数需要返回一个布尔值,表示该元素是否满足条件。如果返回值为`true`,则该元素会被包含在新的数组中,否则会被排除。 以下是`filter`方法的示例代码: ```javascript const numbers = [1, 2, 3, 4, 5]; const evenNumbers = numbers.filter((number) => number % 2 === 0); console.log(evenNumbers); // 输出 [2, 4] ``` 上述示例,`filter`方法筛选出了数组`numbers`的偶数,并将它们存储在新的数组`evenNumbers`。 `find`方法用于查找满足特定条件的数组元素,并返回该元素。它也接受一个回调函数作为参数,该回调函数会被应用于数组中的每个元素。回调函数同样需要返回一个布尔值,表示该元素是否满足条件。当找到第一个满足条件的元素时,`find`方法会立即返回该元素,不再继续遍历后续元素。 以下是`find`方法的示例代码: ```javascript const numbers = [1, 2, 3, 4, 5]; const foundNumber = numbers.find((number) => number > 3); console.log(foundNumber); // 输出 4 ``` 上述示例,`find`方法查找数组`numbers`第一个大于3的元素,并将其返回给`foundNumber`变量。 需要注意的是,`filter`方法返回一个新的数组,而`find`方法返回一个单个元素。如果需要找到多个满足条件的元素,可以使用`filter`方法,并根据需求进行后续操作。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值