2016-12-26 5 views
0

outerarc.centroid関数によって返されたposという配列があり、これもNaN値を持つ可能性があります。d3のNaN値をチェックする方法は?

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の場合であるプリミティブの配列、ないの配列を持っていると仮定すると、オブジェクト(その状況では、d.fooを使用してプロパティを選択する必要があります)。

関連する問題