【发布时间】:2025-12-20 15:40:16
【问题描述】:
function myFunction() {
dd = document.getElementsByClassName("addin");
ds = document.getElementsByClassName("slidfi");
var arr = [];
for(var i = 0;i< dd.length;i++){
var obj = {};
obj["check"] = dd[i].checked;
obj["value"] = ds[i].value;
obj["headers"] = dd[i].value;
arr.push(obj)
}
return arr;
}
以下函数中的状态变量具有值和状态[i][“header”]的详细信息,它是相应标题的列值,我想将每个值除以 max 值在整个专栏中。基本上应该是这样的——
temp.push((d[status[i]["headers"]]/Math.max(temp)) * status[i]["value"])
但我无法获得整列的 max。
这是当前代码,但还想取 max 并除以每个值以对其进行标准化,然后乘以 status[i]["value"]。
function UpdatedData() {
var status = myFunction();
d3.csv('cars.csv', function(error, data) {
data.forEach(function(d){
var temp=[];
for(var i=0;i<status.length;i++){
if (status[i]["check"]){
temp.push(d[status[i]["headers"]] * status[i]["value"])
}
}
});
});
}
status 是具有这种格式的数组。
0 {check: false, value: "0.5", headers: "W"}
1 {check: false, value: "0.5", headers: "X"}
2 {check: true, value: "0.5", headers: "Y"}
3 {check: true, value: "0.5", headers: "Z"}
所以最后两个被检查,所以在这种情况下 temp 将是一个暗淡 2 的数组。一个将对应于标题 Y 另一个对应于相应的标题 Z。我想要与 Y 和 Z 对应的所有列值的 max 但不是 Y 和 Y 中的最大值强>Z
【问题讨论】:
标签: javascript csv d3.js