建设监理收录网站,抖音seo教程,wordpress th7好卡,建设工程管理网站项目需求
对指定数据中的score求和
const data [ { name: Alice, age: 23, score: 85 }, { name: Bob, age: 30, score: 90 }, { name: Charlie, age: 35, score: 80 }
];1.封装函数
这个函数接受两个参数#xff1a;一个对象数组和一个键名#xff08;也就是你想要…项目需求
对指定数据中的score求和
const data [ { name: Alice, age: 23, score: 85 }, { name: Bob, age: 30, score: 90 }, { name: Charlie, age: 35, score: 80 }
];1.封装函数
这个函数接受两个参数一个对象数组和一个键名也就是你想要相加的属性名。函数使用了 reduce 方法来对数组进行迭代并将每个对象中的指定属性的值加起来。
function sumByKey(array, key) { return array.reduce((sum, obj) { return sum (obj[key] || 0); }, 0);
}2.使用 forEach 循环
function sumByKeyUsingForEach(array, key) {let sum 0;array.forEach(obj {sum obj[key] || 0;});return sum;
}这个函数和之前的 sumByKey 函数做的事情一样只不过它使用了 forEach 循环来迭代数组而不是 reduce 方法。
3.使用 every 方法
虽然 every 方法通常用于检查数组中的每个元素是否都满足某个条件但也可以用它来计算对象数组中某个属性的总和。不过这种方法可能会让代码更难理解
function sumByKeyUsingEvery(array, key) {let sum 0;array.every(obj {sum obj[key] || 0;return true; // 让 every 方法继续迭代数组});return sum;
}这个函数和前面的两个函数做的事情一样但它使用了 every 方法来迭代数组。注意我们必须返回 true以便 every 方法能够继续迭代数组。虽然这种方法可以达到目的但它可能会让代码更难理解因此不太推荐使用。 漏刻有时