好的,经过几个小时的谷歌搜索后,我还没有找到(工作)并且不使用eval()的解决方案。我有一个数组,我想运行相同的函数来嵌套并进行汇总。
dsAhsBes = createAhsBesok(dsFilterBes, dsAhsBes, "d.Ar")
function createAhsBesok(ds, output, groupVar) {
output = d3.nest()
.key(function(d) {
return eval(groupVar);
})
.rollup(function(d) {
return {
"Count": d3.sum(d, function(g) {
return g.Count;
})
};
}).entries(ds);
output.forEach(function(d) {
d.Count = +d.values.Count;
d.Dep = "Main";
});
return (output);
}
上面的代码段有效,但如果可能,我宁愿使用eval()
之外的其他内容。如何让子函数以正确的方式解析groupVar
而不使用eval?