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,实现去重的目的。
     

     

     

  • 相关阅读:
    JavaSE 基础 第51节 定义自己的异常
    JavaSE 基础 第50节 Java中的异常链
    JavaSE 基础 第49节 手动抛出异常
    JavaSE 基础 第48节 Java中的异常声明
    JavaSE 基础 第47节 获取异常信息
    JavaSE 基础 第46节 异常的分类
    JavaSE 基础 第45节Java异常快速入门
    JavaSE 基础 第44节 引用外部类的对象
    JavaSE 基础 第43节 静态内部类
    通用爬虫
  • 原文地址:https://www.cnblogs.com/8080zh/p/11153502.html
Copyright © 2011-2022 走看看