【发布时间】:2020-01-20 18:38:37
【问题描述】:
我一直在愚弄这个,我无法理解它。
这为我提供了我正在寻找的输出(彩色条取决于值)
我有以下代码:
t2actual:
function(d) {
if (d.value >= 44.5 && d.value <= 45.5) {
return '#218340';
} else if (d.value >= 44.0 && d.value <= 44.4 || d.value >= 45.6 && d.value <= 50) {
return '#f7b731';
} else {
return '#a62337';
}
}
参见迭代 #1 w/断点(为什么 d.value 未定义,但它有效?):
这并没有给我我正在寻找的输出(彩色条取决于值)
当我把它改成这个时,每次迭代我都会在 else 中结束:
t2actual:
function(d) {
arrayIndex++
var setPoint = columns_TurbineConditions[0][arrayIndex];
if ((setPoint - 0.5) <= d.value && d.value <= (setPoint + 0.5)) {
return '#218340';
} else if ((setPoint - 1) <= d.value && d.value <= (setPoint + 1)) {
return '#f7b731';
} else {
return '#a62337';
}
}
参见迭代 #1 w/断点(为什么 d.value 仍然未定义,但它不起作用?):
访问JS fiddle 获取完整代码。
编辑: 我考虑了 cmets 中建议的运算符优先级,以下对我不起作用:
if (((setPoint - 0.5) <= d.value) && (d.value <= (setPoint + 0.5))) {
【问题讨论】:
-
运算符优先级浮现在脑海中......但一般来说,寻找重现错误的最小条件。
-
您似乎正在显示调试器图像,两次,您似乎都在
else上。有什么不同?为什么d.value未定义,而它显然不应该是? -
@ASDFGerte 这是我的问题的一部分。一种情况有效,但另一种情况无效,但 C3.js 在两种情况下都返回“未定义”值。见上文。
-
我不相信您的第一个函数实际上显示了它应该显示的内容。
d.value在大多数情况下是未定义的。请参阅此fiddle。检查控制台。
标签: javascript d3.js c3.js