zoukankan      html  css  js  c++  java
  • 不生成新数组的迭代器方法:forEach()&every()&some()&reduce()&reduceRight()

    一、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"
  • 相关阅读:
    luoguP2657 [SCOI2009] windy 数 数位dp
    LOJ#3280. 「JOISC 2020 Day4」首都城市 点分治+BFS
    luoguP2168 [NOI2015]荷马史诗 哈夫曼树
    转载-如何在博客园随笔中增加章节导航
    转载-MySQL之终端(Terminal)管理数据库、数据表、数据的基本操作
    转载-MySQL之终端(Terminal)管理MySQL
    数据库缓存
    独立图片服务器的部署(了解)
    CDN加速
    MySQL update替换字段部分内容
  • 原文地址:https://www.cnblogs.com/feile/p/5369987.html
Copyright © 2011-2022 走看看