zoukankan      html  css  js  c++  java
  • ES5数组方法

    先标明参考出处: http://blog.csdn.net/codebistu/article/details/8049705

    本来写过一篇有关数组新方法的(详见: [转]JavaScript函数和数组总结), 结果埋的太深找起来不方便, 在这儿专门来一篇总结下.

    1. forEach

    forEach(f [,o]): 此方法类似于for/in循环, 其作用是遍历整个数组并执行函数的某些操作, 但它不会遍历数组的属性. 它接受一个函数参数, 该函数可以有1,2与3个参数. 完整的三个参数分别为: 数组中的每一个值, 数组的索引, 数组本身. 这个函数没有返回值. 如:

    var a = [0,1,2,3,4];
    var sum = 0;
    a.forEach(function(v, i, arr) {  
         sum += v;
         console.log(arr[i]);
    });

     2. map

    map(f [,o]): 类似于forEach()方法, 但它有返回值 --- 一个新数组, 它的参数函数必须有返回值, 参数函数的返回值作为新数组的元素. 其它用法与forEach()方法类似.

    var a = [1,2,3,4,5];
    var b = a.map(function(x, i, arr) {
         return x*x;
    });
      
    console.log(a); // [1,2,3,4,5]  
    console.log(b); // [1,4,9,16,25]

    3. filter

    filter(f [, o]): 对数组元素进行过滤, 返回一个符合要求的新数组. 如:

    var a = [1,2,3];
    a[5] = 6;
    
    var b = a.filter(function(x, i, arr) {
        return x !== undefined;
    });
    
    console.log(a); // [1,2,3,undefined,undefined,6]
    console.log(b); // [1,2,3,6]

    4. every

    every(f [, o]): 有一个布尔类型的返回值, 函数参数f用来检测数组元素是否满足要求,  有且只有数组全部元素都满足f的要求 时, 才会返回true, 否则返回false.

    var a = [1,3,7];
    var flag = a.every(function(x, i, arr) {
         return x < 5;
    });
    console.log(flag);
    // false

    5. some

     some(f [, o]): 与every()方法不同, 只要 有数组元素满足f的要求 就返回true, 否则返回false.

    var a = [1,3,7];
    
    var flag = a.some(function(x, i, arr) {
         return x < 5;
    });
    
    console.log(flag); // true

    6. reduce

    reduce(f [, initial, index, array]): 对数组元素值进行计算, 返回最后一次计算的值. 函数f(x,y)接受两个参数, 如果有初始值, 则把初始值作为x计算, 然后把每一次的计算值作为下一次的x, 把数组元素依次作为y.

    var a = [1,2,3,4,5];
    
    var b = a.reduce(function(x, y) {
         return x+y;
    },0); // 0是初始值
    
    console.log(b); // 15

    7. reduceRight

    reduceRight(): 与reduce()函数作用相同, 只是它从右向左依次取数组元素.

    8. indexOf

    indexOf(value [, start]): 根据值来找到相应在数组中的索引位置, 取多个匹配索引用最小的那个或在没有匹配的情况下返回-1.

    9. lastIndexOf

    lastIndexOf(value [, start]): 与indexOf()函数相似, 只是它是从后面向前面进行搜索.

  • 相关阅读:
    对象之间是有联系的
    java发展历程、常用dos命令与jDK工具使用
    java环境变量、集成开发环境与使用两个类
    C++中,将单精度浮点数转换成2进制数
    Java代码规范、基本类型和实例演练
    java方法的理解、调用栈与异常处理
    java面向对象、构造方法 之内部类
    java读代码步骤
    Java中break、continue、return语句的使用区别
    数学图像处理--空间滤波
  • 原文地址:https://www.cnblogs.com/ccforeverd/p/4329954.html
Copyright © 2011-2022 走看看