javascript中数组的五种迭代方法

javascript中数组的五种迭代方法

ES5中为数组定义了5个迭代方法。每个方法接收两个参数:要在每一项上运行的函数和运行该函数的作用域(可选)——影响this的值。传入这些方法中的函数会接收三个参数:数组项的值、该项在数组中的位置、数组对象本身。

5个迭代方法(都是对数组中的每一项运行给定函数):
1.every():每一项都返回true,则返回true。
2.filter():返回true的项组成的数组。
3.forEach():没有返回值。
4.map():返回调用函数的结果组成的数组。
5.some():任一项返回true,则返回true。

every()和some()具有相似性,先对比两者:

var numbers=[1,2,3,4,5,4,3,2,1]; 
//every()  
var everyResult =numbers.every(function(item,index,array){  
    return (item>2);  
});  
alert(everyResult);//false  
  
//some()  
var someResult=numbers.some(function(item,index,array){  
    return (item>2);  
});  
alert(someResult);//true 

然后再看filter():

//filter  
var numbers=[1,2,3,4,5,4,3,2,1];  
var filterResult=numbers.filter(function(item,index,array){  
    return (item>2);  
});  
alert(filterResult);//[3,4,5,4,3] 

map():

//map  
var numbers=[1,2,3,4,5,4,3,2,1];  
var mapResult=numbers.map(function(item,index,array){  
    return item*2;  
});  
alert(mapResult);//[2,4,6,8,10,8,6,4,2] 

最后来看forEach(),本质上与使用for循环迭代数组一样:

//forEach  
var numbers=[1,2,3,4,5,4,3,2,1];  
numbers.forEach(function(item,index,array){  
   //执行某些操作  
});  
    原文作者:祝我好运zz
    原文地址: https://www.jianshu.com/p/33e1ee57fa81
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞