// 冗余写法
fn(){
let arr = [{name:'1',num:1},{name:'2',num:2},{name:'3',num:3}]
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum += arr[i].num;
}
console.log(sum) // 6
}
// 推荐写法
fn(){
// 无需担心num为null , 如果num为null则reduce跳过此次添加
// num为undefined , 会被写入计算 结果为NaN
// num为ture , js会将true转换为数字1
// num为false , js会将false转换为数字0
// num为字符串 , 在未遇到字符串之前进行相加,遇到字符串之后则会拼接
let arr = [{name:'1',num:1},{name:'2',num:2},{name:'3',num:3}]
// 0则是sum的初始值 从0开始计算 若为1则从1开始计算
let sum = arr.reduce((acc, curr) => acc + curr.num, 0);
console.log(sum) // 6
}
数组象 数值相加
最新推荐文章于 2024-11-05 22:07:06 发布