zoukankan      html  css  js  c++  java
  • javascript高级程序设计-Array迭代及归并

    迭代方法

    every()

    如果该函数对每一项都返回true,则返回true,否则返回false。

    var numbers = [1,2,3,4,3,2,1];
    var everyResult = numbers.every(function(item,index,array){
    	return (item > 2);
    });
    alert(everyResult);   //result为false
    

    some()

    如果该函数对任意一项返回true,则返回true。

    var numbers = [1,2,3,4,3,2,1];
    var everyResult = numbers.some(function(item,index,array){
    	return (item > 2);
    });
    alert(everyResult);   //result为true
    

    filter()

    该函数返回的是所有为ture的项组成的数组。

    var numbers = [1,2,3,4,3,2,1];
    var everyResult = numbers.filter(function(item,index,array){
    	return (item > 2);
    });
    alert(everyResult);   //result为3,4,3
    

    map()

    该函数返回函数调用结果组成的数组。

    var numbers = [1,2,3,4,3,2,1];
    var everyResult = numbers.map(function(item,index,array){
    	return (item * 2);
    });
    alert(everyResult);   //result为2,4,6,8,6,4,2
    

    forEach()

    该函数只是用于遍历,没有返回值。

    var numbers = [1,2,3,4,3,2,1];
    var everyResult = numbers.map(function(item,index,array){
    	//执行某些操作
    });
    

    归并方法

    reduce()

    从数组的第一项开始,迭代数组的所有项,构建一个最终的返回值。

    var numbers = [1,2,3,4,5];
    var sum = numbers.reduce(function(prev,cur,index,array){
    	return prev + cur;  //该结果会作为下一次迭代的prev
    })
    alert(sum);  //rusult为15
    

    reduceRight()

    从数组的最后一项开始,迭代数组的所有项,构建一个最终的返回值。

    var numbers = [1,2,3,4,5];
    var sum = numbers.reduceRight(function(prev,cur,index,array){
    	return prev + cur;  //该结果会作为下一次迭代的prev
    })
    alert(sum);  //rusult为15
    
  • 相关阅读:
    HDU 3586 二分答案+树形DP判定
    POJ 3140 树形DP
    POJ 1741 树的点分治
    POJ 1655 求树的重心
    CF 219D 树形DP
    HDU 2196树形DP(2个方向)
    HDU 1520 树形DP入门
    POJ 1159 Palindrome(最长公共子序列)
    树状数组 区间更新 区间查询
    HDU 1556 BIT区间修改+单点查询(fread读入优化)
  • 原文地址:https://www.cnblogs.com/luoxiao-wang/p/4030155.html
Copyright © 2011-2022 走看看