reduce的用法以及用该方法对对象进行分类
reduce() 方法接收一个函数作为累加器(accumulator),该方法可以接受两个参数。
当reduce方法里面只有一个参数,该参数是一个回调函数callback的时候,回调函数有四个参数,分别是:
- prev上一次调用回调返回的值,第一次遍历时该prev是数组的第一项;
- curr是数组中当前被处理的每一项元素,从数组的第二项开始;
- index当前被处理元素在数组中的索引,从1开始;
- array调用 reduce方法的原数组。
该回调函数被调用length-1次
const data = [1,2,3,4,5]
const newData = data.reduce((prev,curr) => {
console.log(pre,'prev') //1,3,6,10
console.log(cur,'curr') //2,3,4,5
return prev+curr
})
console.log(newData,'newData') //15
用reduce方法对对象分类,如下例子,用来对不同年龄进行分类
const dataSource = [
{
name: '小a', age: '22'},
{
name: '小b', age: '22'},
{
name: '小c', age: '23'},
{
name: '小d', age: '23'},
{
name: '小e', age: '11'},
]
const newDataSource = dataSource.reduce((prev,curr) => {
const