reduce一些方法对数组进行的处理

Posted yeanling

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 ̄)づ~
 
 
 

以上是关于reduce一些方法对数组进行的处理的主要内容,如果未能解决你的问题,请参考以下文章

使用 JavaScript reduce 函数对数组进行排序

JS 使用reduce进行数组去重

ruby reduce方法

reduce函数原理

map和reduce函数的使用

Array的 map() 和 reduce()