数组的迭代方法

Array.forEach()

Array.map()          

Array.filter()

Array.reduce()

----------------------------------------------------------------------------------

Array.reduceRight()

Array.every()

Array.some()

Array.indexOf()

Array.lastIndexOf()

Array.find()

Array.findIndex()
 

forEach(callbackfn)

forEach() 方法用于调用数组的每个元素,将元素传递给函数。

  • 参数说明:callbackfn 回调函数;该回调函数最多可以接收三个参数,分别是:value,index,arr

  • 注意 forEach() 空数组是不会执行函数的  不能结束循环。

  •       var arr = [10, 201, 301, 1000];
            var rst = arr.some(function (value,index,arr) {//value 数组中的每个元素
                console.log(value)
            });

  • 注意:forEach不能被return打断

  • map() 遍历数组;返回的结果会组成一个新的数组返回 数组中的元素为原始数组元素调用函数处理后的值。

  • 注意 map() 不会对空数组进行检测。

    注意 map() 不会改变原始数组。

  •    var arr = [53, 20, 430, 1];
             var arr0=arr.map(function(v){
                 return v+10;
            })
             console.log(arr0);

    filter() 遍历数组;将数组中满足过滤条件的元素返回,组成新数组

  • 注意 filter() 不会对空数组进行检测。

    注意 filter() 不会改变原始数组。

  •    var arr = [10, 20, 30, 40, 100, 99];
            var arrx = arr.filter(function (v, i) {
                // console.log(v,i);
                return v > 60;//条件
            });
    
            console.log(arrx);

    arr.reduce(callbackfn,initvalue) 返回累加结果

  • 参数说明:callbackfn 回调函数 initvalue 回调函数第一个参数的初始值

  • 用法一:initvalue没有赋值,

    • 回调函数第一次执行的时候,第一个参数的值为数组的第一个元素,第二个参数的值为数组的第二个元素

    • 非第一次遍历,则回调函数的第一个参数为上一次累加的结果,第二个参数为当遍历的元素

    •    var arr=[11,22,55,200,300];
               //累加器
               var sum=arr.reduce(function (a, b) {
                  // console.log(a, b);
                  // return a+b;
                  return a*b;
               });

      用法二:initvalue有初始值

    • 遍历时,回调函数的第一个参数为默认值,第二个参数为当前遍历的元素;依次类推

    •         let arr = [
                  { id: 1, name: "李逵", age: 30 },
                  { id: 2, name: "李四", age: 40 },
                  { id: 3, name: "李鬼", age: 50 },
                  { id: 4, name: "李某", age: 20 },
              ];
      
              let s = arr.reduce(function (s, item) {
                  return s += ` <li><span>${item.id}</span>---- <span>${item.name}</span> --- <span>${item.age}</span></li>`
              }, '')

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值