zoukankan      html  css  js  c++  java
  • Array迭代

     1 //迭代方法(ie9+、Firefox2+、Safiari3+、Opera9.5+和Chrome)
     2     //--以下方法均不会修改数组的值
     3     var arr = [1,2,3,4,5,4,3,2,1];
     4     
     5     var everyResult = arr.every(function (item, index, array){
     6         return (item > 2)
     7     });
     8     alert(everyResult); //全true为true
     9     
    10     var someResult = arr.some(function (item, index, array){
    11         return (item > 2)
    12     });
    13     alert(someResult); //一true为true
    14     
    15     var filterResult = arr.filter(function (item, index, array){
    16         return (item > 2)
    17     });
    18     alert(filterResult); //3,4,5,4,3 筛选符合条件的所有项
    19     
    20     var mapResult = arr.map(function (item, index, array){
    21         return (item * 10)
    22     });
    23     alert(mapResult); //对原始数组的每一项运行传入参数的结果
    24     
    25     //这个方法没有返回值,本质上与使用for循环迭代数组一样
    26     arr.forEach(function(item, index, array){
    27         alert(item)    
    28     });
     1 //归并方法(IE9+ Firefox3+ Safari4+ Opera10.5和Chrome)
     2     // --两个方法都是迭代数组的所有项,然后构建一个最终返回的值
     3     // --两个方法一样 只是遍历是从第一项到最后一项,还是从最后一项到第一项
     4     var arr = [1,2,3,4,5]
     5     
     6     var sum1 = arr.reduce(function (prev, cur, index, array){
     7         alert(prev +"-"+ cur)
     8         return prev + cur
     9     });
    10     alert(num1) //15
    11     
    12     var sum2 = arr.reduceRight(function (prev, cur, index, array){
    13         return prev + cur
    14     });
    15     alert(num2)
    16     
    17     //具体原理实例可参考张大神 http://www.zhangxinxu.com/study/201304/array-reduce.html
  • 相关阅读:
    JavaScript继承详解 转
    Chinese Consumer and Websites
    【转载】C#防SQL注入过滤危险字符信息
    记一次在数据库中查询:“包含”或者“仅包含”某些商品的订单的方法
    IE 6 position: relative + li 问题
    【转】c# 位操作
    基于asp.net MVC的无刷新文件上传
    C++ 类继承内存布局
    美杜杉 主动防御最新版
    [转]COM 连接点
  • 原文地址:https://www.cnblogs.com/make/p/4387675.html
Copyright © 2011-2022 走看看