数组的迭代遍历

来源:互联网 发布:windows 与ntp同步 编辑:程序博客网 时间:2024/05/16 09:46

数组的迭代遍历

格式

数组/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
如结果所示,只遍历了数组的第一个元素,原因是因为其他对数组中每一项运行以下函数,如果都返回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);

运行结果:
这里写图片描述
如图所示,所有元素都添加了你好

some有返回值,函数结果有一个是true,本方法结果也是true。

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