2016-12-26 9 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

자바 스크립트에서 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을 사용하여 속성을 선택해야합니다).

관련 문제