js 中的迭代要领

ECMAScript 为数组定义了五个迭代要领。
每一个要领都吸收两个参数:要在每一项上运转的函数和(可选的)运转该函数的作用域对象——影响this的值。
传入这些要领中的函数会吸收三个参数:数组项的值、该项在数组中的位置和数组对象本省。
依据运用的要领差别,这个函数实行后的返回值能够会也能够不会影响要领的返回值。
以下是这五个迭代要领的作用。

1、every(); 对数组中的每一项运转给定函数,假如该函数对每一项都返回true,则返回true。

2、some(); 对数组的每一项运转给定函数,假如该函数对任一项返回true,则返回true。
    var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
    var everyResult = numbers.every(function(item, index, array){
        return (item > 3);
    })
    console.log(everyResult);    //false
    
    var someResult = numbers.some(function(item, index, array) {
        return (item > 3);
    })
    console.log(someResult);    //true
3、filter(); 对数组中的每一项运转给定函数,返回改函数会返回true的项构成的数组。
    var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
    var filterResult = numbers.filter(function(item, index, array) {
        return (item > 3);
    })
    console.log(filterResult);    //[4, 5, 4]
4、map(); 对数组中的每一项运转给定函数,返回每次函数挪用的效果构成的数组。
    var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
    var mapResult = numbers.map(function(item, index, array) {
        return item * 2;
    })
    console.log(mapResult);    //[2, 4, 6, 8, 10, 8, 6, 4, 2]
5、forEach(); 对数组中的每一项运转给定的函数,该要领没有返回值,本质上于运用for轮回迭代数组一样。
    var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
    numbers.forEach(function(item, index, array) {
        //实行某些操纵
    })

未完待续。。。

    原文作者:Ray_
    原文地址: https://segmentfault.com/a/1190000009940387
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞