我有一个名为 pos
的数组,由 outerarc.centroid
函数返回,它也可能具有 NaN 值。我希望这些值被赋值为 0。
我使用以下逻辑:
var pos = outerArc.centroid(d2);
pos.forEach(function(d, i) {
console.log(d + " " + i);
if(d==NaN){
d = 0;
}
console.log(d + " " + i);
});
var x = pos[0],
y = pos[1],
h = Math.sqrt(x*x + y*y);
但是它不起作用。我还能如何检查?
最佳答案
在 javascript 中,NaN 是唯一不等于任何东西的东西,甚至不等于它本身!
var a = NaN;
console.log("Is NaN equal to NaN? " + (a === a));
console.log("Is NaN different from NaN? " + (a !== a));
话虽这么说,你可以这样做:
if(d !== d){
d = 0;
}
假设您有一个基元数组,即质心的情况,不是对象数组(在这种情况下,您必须使用d.foo
)。
关于javascript - 如何检查 d3 中的 NaN 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41327533/