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

     

     

  • 相关阅读:
    Python: 编程遇到的一些问题以及网上解决办法?
    Python: Win7下使用 pip install lxml 无法安装lxml?
    Python:Pycharm下无法导入安装好的第三方模块?
    Python:如何删除文件中的空白行?
    Pycharm 快捷键
    Python读取二进制文件
    python实现grep
    Python学习笔记
    VBA批量查找和复制文件
    %~dp0是什么意思
  • 原文地址:https://www.cnblogs.com/8080zh/p/11153502.html
Copyright © 2011-2022 走看看