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循环迭代数组一样:

扫描二维码关注公众号,回复: 3205738 查看本文章
 //forEach
 var numbers=[1,2,3,4,5,4,3,2,1];
 numbers.forEach(function(item,index,array){
    //执行某些操作
 });
大笑 有问题有想法欢迎交流,共同进步!

猜你喜欢

转载自blog.csdn.net/qq_27346075/article/details/79786312