JS中的reduce()用法

编程入门 行业动态 更新时间:2024-10-26 22:19:38

1. 语法

arr.reduce(callback, initialValue)

callback:每个元素都要执行的回调函数

initicalValue:作为第一次调用 callback 的第一个参数。

2. 回调函数的参数

1、previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue),这个值可以使引用数据类型)
2、currentValue (数组中当前被处理的元素)
3、index (当前元素在数组中的索引)
4、array (调用 reduce函数的数组)

3. 实例解析

数组元素求和

var arr = [1,2,3,4];
var sum = arr.reduce(function(pre, item, index, arr){console.log(pre, item, index);return pre + item;
});
console.log(sum);

数组元素求乘积

var arr = [1,2,3,4];
var mul = arr.reduce(function(pre, item, index, arr){console.log(pre, item, index);return pre * item;
});
console.log(mul);

判断数组元素出现次数

var arr = [1,2,3,'str1',"str2","str2",1,2];
arr.reduce(function(pre, item, index, arr){console.log(pre, item);if(item in pre){pre[item]++;} else{pre[item] = 1;}return pre;
},{})	//初始pre是一个空对象

去除数组中的重复元素

var arr = [1,2,3,'str1',"str2","str2",1,2,true,true,false,{},{}];
var newArr = arr.reduce(function(pre,item){if(!pre.includes(item)){pre.push(item);}return pre;
},[])	//初始pre是个空数组
console.log(newArr);	
//[1, 2, 3, 'str1', 'str2', true, false, {}, {}]

数组内部分组

//给定一个数组var a = [1,2,3,4,5,6,7,...]
//使用一次reduce,五个元素一组。
var arr = [1,2,3,4,5,6,7,8,9,10,11,12];
arr.reduce(function(pre, item, index, arr) {var begin = index * 5;var end = begin + 5;var result = arr.slice(begin,end);if(result.length){pre.push(result);}return pre;
},[])

更多推荐

JS,reduce

本文发布于:2023-05-26 18:05:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/275023.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:JS   reduce

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!