JS中fliter和forEach方法的简单使用

filter和forEach方法都是JS中的数组方法,用于遍历数组,方法内固定由一个函数作为参数,每遍历一次数组中的元素,便会调用该函数,函数中有三个参数 arr.filter(function(value,index,array) {函数体})(标准格式)

注意:参数名称并不固定,可随意填写如 arr.filter(function(a,ib,jj)

参数名参数类型代表的意义
value必填参数当前遍历的元素值
index选填参数当前遍历的元素值的下标
array选填参数当前遍历的数组本身

此方法常用于过滤数组中满足条件的数

demo1(单参数)

 <script>
        var arr = [1, 2, 3, 4, 5, 6, 7]


        arr.filter(function(x) {
        //遍历数组元素,并输出大于3的数
            if (x >= 3) {
               console.log(x)
            }
        })
    </script>

结果如下:
在这里插入图片描述
并且该方法函数返回值会存放到一个新的数组当中:
demo2`(返回数组)

<script>
        var arr = [1, 2, 3, 4, 5, 6, 7]

		//定义一个数组接收返回值
        var arr2 =  arr.filter(function(x) {
        //遍历数组元素,并输出大于3的数
            if (x >= 3) {
              reture x;
            }
        })
        

结果如下
在这里插入图片描述

最后看看三个参数一起打印的结果
demo3

<script>
        var arr = [1, 2, 3, 4, 5, 6, 7]


        arr.filter(function(a, b, c) {
            console.log(a, b, c);
        })
    </script>

在这里插入图片描述

forEach方法同上
唯一的不同在于forEach方法不写reture的话并没有默认返回值而filter返回function处理结果为true时返回的集合,其他用法基本相同,包括参数的使用。

demo4(forEach没有返回值)

<script>
        var arr = [1, 2, 3, 4, 5, 6, 7]


        var arr2 = arr.filter(function(a, b, c) {
            // console.log(a);
            if (a > 3) {
                return true;
            }
        })

        console.log(arr2);

        var arr3 = arr.forEach(function(a, b, c) {
            // console.log(a);
            if (a > 3) {
                return true;
            }
        })
        console.log("-------");
        console.log(arr3);
    </script>

结果如下
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值