【发布时间】:2015-03-21 19:21:38
【问题描述】:
我刚刚开始使用 Lodash,并且正在尝试对数组中的任何值(在最低级别)进行平均。不管我怎么尝试,原始的 JSON 仍然存在。
我是否需要构建一个全新的对象并将所有内容都放入其中?为什么我不能像操作数组一样简单地操作它?
function averageIt(mtcs) {
function jsonAvg(dataSet) {
function avg(elmt) {
var sum = 0;
for( var i = 0; elmt[i]; i++ ){
sum += parseInt( elmt[i], 10 );
}
return Math.round(sum/elmt.length * 100) / 100;
}
_.forEach(dataSet.json, function(day) {
_.mapValues(day, function(n) {
return _.isArray(n) ? avg(n) : n;
});
});
console.log("JSON Averaged:", dataSet.json);
return dataSet;
}
_.forIn(mtcs.dataSets, function(set) {
set = jsonAvg(set);
});
console.log("Averaged Metrics:", mtcs);
return mtcs;
}
问候 - - - 真是一头雾水的“程序员”
【问题讨论】:
标签: javascript json underscore.js lodash