ECMA 5提供了5个迭代方法:every(),filter(),forEach(),map()和some()

这个五个方法,均接收2个参数。

1.every()

对数组中的每项运行给定函数,如果该函数对每一项都返回ture,则返回true,否则返回false.

    //every
    var num = [1, 2, 3, 4, 5, 4, 3, 2, 1];
    var everyResult = num.every(function (item, index,array) {
        return item>2
    });

    alert(everyResult);//fasle

2.some

对数组中的每项运行给定函数,如果该函数对任意一项返回ture,则返回true,否则返回false

    //some
    var num = [1, 2, 3, 4, 5, 4, 3, 2, 1];
    var someResult = num.some(function (item, index, array) {
        return item > 2;
    });

    alert(someResult);//true

3.filter

对数组中的每项运行给定函数,返回该函数会返回true的项组成的数组

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

    alert(filterResult);//3,4,5,4,3

4.map

对数组中的每项运行给定函数,返回每次函数调用的结果组成的数组

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

    alert(mapResult);//2,4,6,8,10,8,6,4,2

 

5.forEach

对数组中的每项运行给定函数。注意,该方法没返回值

    //forEach
    num.forEach(function (item, index, array) {
        //执行想要执行的操作
    });
收藏 打印