zoukankan      html  css  js  c++  java
  • javascript 常用的一些原生方法

    一丶javascript------ reduce()

      reduce()方法:

      arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])

     reducer 函数接收4个参数:

    1. Accumulator (acc) (累计器)
    2. Current Value (cur) (当前值)
    3. Current Index (idx) (当前索引)
    4. Source Array (src) (源数组)

     

    arr.reduce(function(prev,cur,index,arr){
    ...
    }, init);

    参数解释:
    pre:代表上一个元素(常用)
    cru:代表当前元素(常用)
    index:代表当前正在处理的数组元素的索引,若提供 init 值,则索引为0,否则索引为1;
    arr:代表初始值

     具体使用方法:

    var arr = [3,9,4,3,6,0,9];

    //求数组之和
    var sum = arr.reduce(function (prev, cur) {
        return prev + cur;
    },0);
    解析:init传入的值为0,则prev的值为0,cur的值为3;
    起初:
    [3,9,4,3,6,0,9]
    第一次虚拟形成的数组:[3,9,4,3,6,0,9]  (0+3=3);
    第二次虚拟形成的数组:[12,4,3,6,0,9] (3+9=12)
    第三次虚拟形成的数组:[16,3,6,0,9] (12+4)
    .。。。以此类推

    其中arr的数组始终没有发生变化。

    //求数组的最大值

    var max = arr.reduce(function (prev, cur) {
        return Math.max(prev,cur);
    })
    解析: init的值为空,则索引值为1,则起始prev的值为3,cur的值为9;
    pre的值的变化为:3--9--9--9--9--9--9

    //数组去重

      var sum = arr.reduce(function(prev, cur) {
           prev.indexOf(cur) === -1 && prev.push(cur);
           return prev;
      }, []);
     
      解析:init的值为[],则prev的初始值为[];cur的初始值为3;
      当prev数组中不包含cur元素时,将cur元素加入到prev中,然后return出prev,实现去重的目的。
     

     

     

  • 相关阅读:
    检验Excel中数据是否与数据库中数据重复
    C# 上传文件
    asp.net Excel导入和导出
    完整ASP.Net Excel导入
    C#遍历指定文件夹中的所有文件
    C#获取文件夹下的所有文件的文件名
    UITextField 文本框 只能输入数字 且保留2位小数 实现
    Asp.Net生成无限级菜单
    给Repeater增加button事件,并绑定值
    简洁的Asp.net菜单控件
  • 原文地址:https://www.cnblogs.com/8080zh/p/11153502.html
Copyright © 2011-2022 走看看