码迷,mamicode.com
首页 > 编程语言 > 详细

不生成新数组的迭代器方法:forEach()&every()&some()&reduce()&reduceRight()

时间:2016-04-08 21:48:00      阅读:282      评论:0      收藏:0      [点我收藏+]

标签:

一、forEach():接受一个函数作为参数, 对数组中的每个元素使用该函数。 

    function square(num) {
        alert(num + " : " + num * num);
    }
    var nums = [ 1, 2, 3, 4 ];
    nums.forEach(square);

 

二、every(): 接受一个返回值为布尔类型的函数, 对数组中的每个元素使用该函数。

    function isEven(num) {
        return num % 2 == 0;
    }
    var nums = [ 2, 4, 6, 8, 10 ];
    var even = nums.every(isEven);
    if (even) {
        alert("all numbers are even");
    } else {
        alert("not all numbers are even");
    }

 

三、some() :接受一个返回值为布尔类型的函数, 只要有一个元素使得该函数返回 true,该方法就返回 true。 

    function isEven(num) {
        return num % 2 == 0;
    }
    var nums = [ 1, 2, 3, 6, 7 ];
    var someEven = nums.some(isEven);
    if (someEven) {
        alert("some numbers are even");
    } else {
        alert("no numbers are even");
    }

 

四、reduce() :接受一个函数, 返回一个值。

 

该方法会从一个累加值开始, 不断对累加值和数组中的后续元素调用该函数, 直到数组中的最后一个元素, 最后返回得到的累加值。

    function add(runningTotal, currentValue) {
        return runningTotal + currentValue;
    }
    var nums = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
    var sum = nums.reduce(add);
    alert(sum); // 显示 55
    function concat(accumulatedString, item) {
        return accumulatedString + item;
    }
    var words = [ "the ", "quick ", "brown ", "fox " ];
    var sentence = words.reduce(concat);
    alert(sentence); // 显示 "the quick brown fox"

 

五、reduceRight() 方法:执行顺序与reduce相反

    function add(runningTotal, currentValue) {
        return runningTotal + currentValue;
    }
    var nums = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
    var sum = nums.reduceRight(add);
    alert(sum); // 显示 55

 

    function concat(accumulatedString, item) {
        return accumulatedString + item;
    }
    var words = [ "the ", "quick ", "brown ", "fox " ];
    var sentence = words.reduceRight(concat);
    alert(sentence); // 显示 "fox brown quick the"

 

不生成新数组的迭代器方法:forEach()&every()&some()&reduce()&reduceRight()

标签:

原文地址:http://www.cnblogs.com/feile/p/5369987.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!