您现在的位置:首页 >> 前端 >> 内容

数组的迭代遍历

时间:2017/8/4 13:57:59 点击:

  核心提示:数组的迭代遍历格式数组/boolean/无 = 数组.every/filter/forEach/map/some(function(element,index,arr){程序和返回值;});every...

数组的迭代遍历

格式

数组/boolean/无 = 数组.every/filter/forEach/map/some(
                            function(element,index,arr){
                                            程序和返回值;                       
   }
);

every()

参数:回调函数
返回值;boolean类型值

    var arr = ["关长","张飞","赵子龙","马超","黄忠"];
    var cool= arr.every(function (elements,index,array) {
        console.log(elements);
        console.log(index);
        console.log(array);
    });

数组的迭代遍历
如结果所示,只遍历了数组的第一个元素,原因是因为其他对数组中每一项运行以下函数,如果都返回true,every返回true,如果有一项返回false,则停止遍历 every返回false;不写默认返回false,而上述代码没有返回值默认为false

若想遍历所有元素则需要添加return true

   var arr = ["关长","张飞","赵子龙","马超","黄忠"];
      var cool= arr.every(function (elements,index,array) {

        console.log(elements);
        console.log(index);
        console.log(array);
        return true ;

    });

数组的迭代遍历3

补充:

      var arr = ["关长","张飞","赵子龙","马超","黄忠"];
      var cool= arr.every(function (elements,index,array) {
      elements="sss";//该不改变数组本身元素。
      array[index]="sss";// 该行代码可以修改数组本身的第一项元素
      console.log(elements);
      console.log(index);
      console.log(array);

    });

运行结果:
数组的迭代遍历

filter返回值是一个新数组。return为true的数组。

 var arr = ["关长","张飞","赵子龙","马超","黄忠"];
 var arr1 = arr.filter(function (ele,index,array) {
      if(ele.length>2){
       return true;
     }
      return false;
   });

  console.log(arr1);

运行结果:
数组的迭代遍历
如结果所示,元素长度超过2的没有打印,即只打印了return为ture的数组

foreach遍历数组(无返回值,纯操作数组中的元素)

        var arr = ["关长","张飞","赵子龙","马超","黄忠"];
        var str = "!";
        arr.forEach(function (ele,index,array) {
          str+=ele;
        });
       alert(str);*

运行结果:
数组的迭代遍历

map有返回值,返回什么都添加到新数组中。

 var arr = ["关长","张飞","赵子龙","马超","黄忠"];
 var cool= arr.map(function (element,index,array) {
        return  element+"你好";
    });
    console.log(cool);

运行结果:
数组的迭代遍历
如图所示,所有元素都添加了你好<喎?http://www.weiyer.com/Search.asp?KeyWord=/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxoMiBpZD0="some有返回值函数结果有一个是true本方法结果也是true">some有返回值,函数结果有一个是true,本方法结果也是true。

   var arr = ["关长","张飞","赵子龙","马超","黄忠"];
   var flag = arr.some(function (ele,index,array) {
     if(ele.length>2){
          return true;
       }
       return false;
  })

   alert(flag);

作者:网络 来源:qq_2903680