zoukankan      html  css  js  c++  java
  • javascrip中array使用(续)

    ECMAScript 5中的数组的方法

    Ecmascript5定义了9个新的数组方法遍历,映射,过滤,检测,简化和搜索数组。

      1.forEach()

           Array.orEach()方法从头到尾遍历数组,第一个参数为此元素值,第二个参数为索引值,第三个参数为此数组this引用。

    var data=[1,2,3,4,5];
    var sum=0;
    data.forEach(funciton (item){
      sum+=item;
    });
    sum;                         //=>15;
    data.forEach(funciton(v,i,a){
     a[i]=v+a;
    })
    data;                       //=>[2,3,4,5,6];
    

      2.map()

           Array.map()方法将调用的数组的每个元素传递给指定的函数,并返回一个数组,它包含该函数的返回值,此方法返回的为一个数组。

    var arr=[1,2,3,4];
    var temp=arr.map(funciton (value){
    return value*value;
    });
    temp;                           //temp:[1,4,9,16]
    

      3.filter()

            Array.filter()方法返回的数组元素是调用数组的一个子集。传递的函数是用来逻辑判定的:该函数返回true和false。

    var arr=[1,2,3,4,5];
    var smallValues=arr.filter(funciton (value){
       reutrn value<3;
    });           
    smallValues;                         //smallValues:[1,2];
    var everyOther=arr.filter(function (value){
     return  value%2==0;
    });
    everyOther;                          //everyOther:[1,3,5];
    

      4.every()和some()

            Array.every和Array.some()方法是数组的逻辑判定:他们对元素应用指定的函数进行判定,返回true和false。every()方法针对所有的数组元素进行判定,some()则为存在此条件的数组元素进行判定

    var arr=[1,2,3,4,5];
    arr.every(funciton (value){
      return value<10;
    });            //返回true:因为数组元素都小于10为真;
    arr.some(funciton (value){
      return value%2==0;
    });            //返回true:因为数组元素中存在偶数
    arr.some(isNan);      //返回false:因为数组元素中不存在非空元素;
    

      5.reduce()和reduceRight()

           Array.reduce()和Array.reduce.Right()方法使用指定的函数将数组元素进行组合,生成单个值。reduce()方法第一个参数为执行化简操作的函数,第二个参数为初始值。reduceRight()方法像似,区别是便利时reduceRight索引是从高至低,reduce索引是从低到高。

          

    var arr=[1,2,3,4,5];
    var sum=arr.reduce(funciton (x,y){ return x+y;},0);  //数组求和;
    var product=arr.reduce(funciton (x,y){ return x*y;},1 );  //数组求积;
    var max=arr.reduce(function (x,y){ return x>y?x:y;});   //数组求最元素;
    var big=arr.redureRight(funciton (accumulator,value){
      return Math.pow(value,accumulator);
    });计算1^(2^(3^(4^5)))。乘方的优先顺序是从右到左。

           6.indexOf()和lastIndexOf()

           Array.indexOf()和lastIndexOf()方法,搜索整个数组中具有给定值的元素,返回找到第一个元素的索引,如果未找到返回-1;而LastIndexOf()方法是反响索引。第一个参数为,要搜索的元素,第二个参数,开始位置。  

  • 相关阅读:
    shell的一本书
    linux设置网络三种方法
    BIOS讲解
    对于ssh和hadoop联系讲解和ssh的基本内容
    Httphandler
    ASP.NET配置文件
    Httpmoudle
    ASP.NET页面生命周期
    ASP.NET页面跳转方法的集合
    OutputCache的使用
  • 原文地址:https://www.cnblogs.com/sharpmap/p/3727435.html
Copyright © 2011-2022 走看看