<script>
const arr1 = [1, 2, 3, 4, 5];
const arr2 = [
{ name: "娜娜", age: 12, id: 1 },
{ name: "丽丽", age: 13, id: 2 },
{ name: "文文", age: 12, id: 3 },
{ name: "苏苏", age: 14, id: 4 },
{ name: "晓晓", age: 14, id: 5 },
{ name: "涵涵", age: 15, id: 6 },
];
//prev = 上一次return的结果,可以赋初始值
//场景一:number数组就和
const result1 = arr1.reduce((prev, curr) => {
return prev + curr;
});
//场景二: 对象属性求和
const result2 = arr2.reduce((prev, curr) => prev + curr.age, 0);
//场景三: 对象根据age进行分组
const result3 = arr2.reduce((prev, curr) => {
const index = curr.age;
if (!prev[index]) {
prev[index] = [];
}
prev[index].push(curr);
return prev;
}, []);
console.log(result1);
console.log(result2);
console.log(result3);
</script>
reduce求和和属性分组
最新推荐文章于 2024-03-19 16:15:39 发布