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一些方法对数组进行的处理的主要内容,如果未能解决你的问题,请参考以下文章