【发布时间】:2019-05-22 18:34:02
【问题描述】:
以下是一些数据:
data = [
{"Age":26,"Level":8},
{"Age":37,"Level":9},
{"Age":null,"Level":15},
{"Age":null,"Level":45}
];
我试图从中计算其属性的平均值:
var avg = {};
var rows = data.length;
data.forEach(obj => {
Object.keys(obj).forEach(k => {
if(obj[k] != null){
avg[k] = (avg[k] || 0) + obj[k] / rows;
}
});
});
return avg;
但问题在于具有null 值的属性的项目,我试图从计算中排除null 值,如果您查看codepen,则有年龄:15.75 而不是 31.5
因为数据的长度始终为 4(并且应该为 2,因为其中 2 个是 null)。如何使长度不包括nulls 的最佳方法是?
【问题讨论】:
-
如果所有年龄都为空怎么办?那你希望发生什么?
-
可能写为null
标签: javascript arrays javascript-objects