js数组中的迭代方法

ECMAScript5 为数组定义5个迭代方法。每个方法都接收两个参数:要在每一项上运行的函数和运行改函数的作用域对象-影响this的值。传入这些方法中的函数会接收三个参数:数组项的值(item)、该项在数组中的位置(index)和数组对象本身(array)。
以下方法都不会修改数组中包含的值

every()

  • 对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true。
 var numbers=[1,2,3,4,5,4,3,2,1];
    var everyResult=numbers.every(function (item,index,array) {
        return (item>2);
    })
    alert("everyResult: "+everyResult);//false

some()

  • 对数组中的每一项运行给定函数,如果该函数对任一项都返回true,则返回true。
 var someResult=numbers.some(function (item,index,array) {
        return (item>2);
    })
    alert("someResult: "+someResult);//ture

filter()

  • 对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组
//filter
    var filterResult=numbers.filter(function (item,index,array) {
        return (item>2);
    })
    alert("filterResult: "+filterResult);//3,4,5,4,3

map()

  • 对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
 var mapResult=numbers.map(function (item,index,array) {
        return (item*2);
    })
    alert("mapResult: "+mapResult);//2,4,6,8,10,8,6,4,2

forEach()

  • 对数组中的每一项运行给定函数,这个方法没有返回值
numbers.forEach(function (item,index,array) {
       alert(item)
    })

猜你喜欢

转载自blog.csdn.net/u013482875/article/details/78297626