zoukankan      html  css  js  c++  java
  • reduce一些方法对数组进行的处理

    reduce方法我之前都整理了知识点,不懂的可以看一下我之前的知识点,这次我们是整理了一些关于用reduce方法进行的一些对于数组的处理
    1. reduce()求数组项之和
    var arr = [3, 9, 4, 3, 6, 0, 9];
    var sum = arr.reduce(function (prev, cur) {
    return prev + cur;
    },0);
    console.log(sum);
     
    2. reduce()求数组项最大值
    var arr = [3, 9, 4, 3, 6, 0, 9];
    var max = arr.reduce(function (prev, cur) {
    return Math.max(prev, cur);
    });
    console.log(max);
     
    3. reduce()实现数组去重
    indexOf() 返回值都是数组中元素所在的下标,如果没有找到则返回-1
    var arr = [3, 9, 4, 3, 6, 0, 9];
    var newArr = arr.reduce(function (prev, cur) {
    prev.indexOf(cur) === -1 && prev.push(cur);
    return prev;
    }, []);
    console.log(newArr);
     
    实现原理:
    1 初始化一个空数组
    2 将需要去重处理的数组中的第1项在初始化数组中查找,如果找不到(空数组中肯定找不到),就将该项添加到初始化数组中
    3 将需要去重处理的数组中的第2项在初始化数组中查找,如果找不到,就将该项继续添加到初始化数组中
    4 ……
    5 将需要去重处理的数组中的第n项在初始化数组中查找,如果找不到,就将该项继续添加到初始化数组中
    6 将这个初始化数组返回
     
    很多的知识点 我已经整理了很多次了  都有详细的解答哦   (づ ̄ 3 ̄)づ~
     
     
     
  • 相关阅读:
    题目1101:计算表达式
    九度oj 题目1107:搬水果
    [Hihocoder] 字符串排序
    [hzwer] 模拟T
    [Luogu] 宝藏
    [Luogu] 列队
    [Luogu] 奶酪
    [Luogu] 逛公园
    [Luogu] 时间复杂度
    [Luogu] 小凯的疑惑
  • 原文地址:https://www.cnblogs.com/yeanling/p/11038266.html
Copyright © 2011-2022 走看看