我有一个由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);
但它没有用。我还能怎么检查呢?
答案 0 :(得分:3)
在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;
}
假设你有一个基元数组,就是centroid
的情况,不是一个对象数组(在这种情况下,你必须使用{{1}选择属性}})。