【发布时间】:2021-06-13 16:05:48
【问题描述】:
我正在尝试将此 Array 对象中的这些整数值相加以得到总和,进而得到平均值。
Input: [
{"string": "John", "integer": 7},
{"string": "Margot", "integer": 8},
{"string": "Jules", "integer": 4},
{"string": "Marco", "integer": 19}
]
Output: 9.5
我已经能够执行此功能,但是,我无法将整数中的值添加到 sum 变量中并除以 objectName.length。我的示例代码在下面,我想了解它为什么不起作用?
function my_average_mark(student_grades) {
sum = 0;
for( i = 0; i < student_grades.length; i++){
// console.log(student_grades[i].integer);
sum += student_grades[i].integer;
console.log(sum);
}
};
all_grades = [
{"string": "John", "integer": 7},
{"string": "Margot", "integer": 8},
{"string": "Jules", "integer": 4},
{"string": "Marco", "integer": 19}
]
console.log(my_average_mark(all_grades));
【问题讨论】:
-
There's no such thing as a "JSON Object" (or a "JSON array object") -
Input和all_grades是对象数组... -
请注意,您不会从函数中返回任何内容,因此最后一个日志不会显示任何内容
-
正如@Nick 已经提到的为什么它不起作用的单线解决方案是这样的
console.log(Input.reduce((n, {integer}) => n + integer, 0)/Input.length) -
@PatrickEvans 实际上我最后的日志打印了一些东西。但它正在为我的整数值加起来。尼克的建议有所帮助。谢谢。
标签: javascript arrays json dictionary object