JS: ES5中数组常用的批处理

1.forEach() 方法对数组的每个元素执行一次给定的函数(或特定的操作)。

        function demoForEach() {
            var arr = ['a', 'b', 'c'];
            arr.forEach(
                // element:数组中正在处理的当前元素
                // index:数组中正在处理的当前元素的索引  
                // arr:function方法正在操作的数组
                function (element, index, arr) {
                    console.log('给数组每个元素进行操作', element, index, arr);
                    //输出
                    //给数组每个元素进行操作 a 0 Array(3)
                    //给数组每个元素进行操作 b 1 Array(3)
                    //给数组每个元素进行操作 c 2 Array(3)
                }
            )
        }
        demoForEach();

2.map() 方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后     的返回值

        function demoMap() {
            var arr = [3, 6, 9, 12, 15];
            var arr2 = arr.map(
                // element:数组中正在处理的当前元素
                // index:数组中正在处理的当前元素的索引
                // arr:function方法正在操作的数组
                function (element, index, arr) {
                    return element * 3;
                }
            );
            console.log(arr);//[3, 6, 9, 12, 15]
            console.log(arr2);//[9, 18, 27, 36, 45]
        }
        demoMap();

3.filter() 方法创建一个新数组, 当中包含通过测试(用函数定义测试规则)的所有元素

       function demoFilter() {
            var arr = [1, 2, 4, 8, 10];
            //ret 接收结果
            var ret = arr.filter(
                // element:数组中正在处理的当前元素
                // index:数组中正在处理的当前元素的索引
                // arr:function方法正在操作的数组
                function (element, index, arr) {
                    return element >= 4;
                }
            );
            console.log(ret);//[4, 8, 10]
        }
        demoFilter();

4.every() 方法测试一个数组内的所有元素是否都能通过某个指定函数的测试,它返回一个布尔值

       function demoEvery() {
            //先定义测试函数
            // element:数组中正在处理的当前元素
            // index:数组中正在处理的当前元素的索引
            // arr:function方法正在操作的数组
            var test = function (element, index, arr) {
                return element >= 3;
            }

            var arr = [3, 6, 9, 12, 15];
            //测试是否arr中的每一个元素都能通过test的测试
            var ret = arr.every(test);
            console.log(ret);//true
        }
        demoEvery();

5.some() 方法测试数组中是不是至少有1个元素通过了被提供的函数测试,它返回的是一个Boolean类型的值

       function demoSome() {
            var arr = [2, 4, 6, 9, 10];
            // element:数组中正在处理的当前元素
            var odd = function (element) {
                return (element % 2 === 1);
            }

            var ret = arr.some(odd);
            console.log(ret);//true
        }
        demoSome();

6.reduce() 方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值

       function demoReduce() {
            var arr = [3, 6, 9, 12, 15];
            //acc 累计器
            //element 当前值
            var reducer = function (acc, element) {
                return acc + element;
            }

            var ret = arr.reduce(reducer);
            //3 + 6 + 9 + 12 + 15
            console.log(ret);//45
            //以10当前值累计
            //10 + 3 + 6 + 9 + 12 + 15
            console.log(arr.reduce(reducer, 10));//55
        }
        demoReduce();

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值