zoukankan      html  css  js  c++  java
  • 数组遍历方法

    1.foreach

     var arr = [12,34,56,78,90,0 ];
     arr.forEach(function (item,index,arr) {
         console.log(item);//当前项
         console.log(index);//当前项的索引
         console.log(arr);//原始数组
     })
    //没有返回值
    //数组中有几项,那么传递进去的匿名回调函数就需要执行几次;
    

    2.map

    主要用于对每个数组里面的元素执行相同的函数来创建新的数组

    有返回值,可以return出来

    map的回调函数中支持return返回值;return的是什么,相当于把数组中的这一项变为什么(并不影响原来的数组,只是相当于把原数组克隆一份,把克隆的这一份的数组中的对应项改变了);

      var arr = [12,34,56,78,90,0 ];
      var res = arr.map(function (item,index,arr) {
      	return item*2
      });
      console.log(arr);//[12, 34, 56, 78, 90, 0]
      console.log(res);//[24, 68, 112, 156, 180, 0]  
    

    3.filter

    与map方法类似,也是对数组中的每个元素执行相同的函数,将结果组合成一个新数组。

      var arr = [12,34,56,78,90,0 ];
      var res = arr.filter(function (item) {
      	return item>50;
      });
      console.log(arr);//[12, 34, 56, 78, 90, 0]
      console.log(res);//[56, 78, 90]
    

    4.some

    some()是对数组中每一项运行指定函数,如果数组中有任意一项符合则返回true,否则返回false。

    var arr = [12,34,56,78,90,0 ];
    console.log(arr.some(function (item) {
    	return item>50;
    })); //true
    console.log(arr.some(function (item) {
    	return item>100;
    })) //false
    

    5.every

    every()是对数组中的每一项运行给定函数,如果数组中每一项都符合则返回true,否则返回false。

    var arr = [12,34,56,78,90,0 ];
    console.log(arr.every(function (item) {
    	return item>50; 
    })); //false
    console.log(arr.every(function (item) {
    	return item>=0;
    })) //true
    

    6.reduce

    reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值。

    reduce接受一个函数,函数有四个参数,分别是:初始值或者计算结束后的返回值,当前值,当前值的索引,数组

     var arr = [0,1,2,3,4 ];
     var res = arr.reduce(function (total, currentValue, currentIndex, arr) {
     	return total+currentValue;
     });
     console.log(res);//10
    

    reduce还有第二个参数,我们可以把这个参数作为第一次调用callback时的第一个参数

     var arr = [0,1,2,3,4 ];
     var res = arr.reduce(function (total,currentValue,currentIndex,array) {
    	 return total+currentValue;
     },10);
     console.log(res); //20
    
  • 相关阅读:
    Android View 阴影的总结
    清晰的教你如何将 Maven 项目上传至 中央仓库以及版本更新
    简单粗暴的上传项目至 Github
    App自动更新(DownloadManager下载器)
    类型判断
    前端防御XSS
    window.location.href/replace/reload()/页面跳转+替换+刷新
    对数组排序进行"洗牌"(随机排序)
    iframe跨域上传图片
    Vim 新手节省时间的小技巧
  • 原文地址:https://www.cnblogs.com/wahaha-/p/14011830.html
Copyright © 2011-2022 走看看