2016-10-01 2 views
0

Javascript에서 축약 형 if 문을 사용하여 내 인수 중 하나가 음수인지 확인하는 중입니다. 특정 값. n 번째는, 다음은 하지 0보다 작은 경우, -1로 n 번째 변경 아무것도하지 않고, 또는 n 번째를 유지이 0보다 작 으면 물어하려고축약 형 if 문은 항상 값이 할당되지 않고 'false'를 반환합니다.

var findDigit = function(num, nth){ 
nth = nth < 0 ? nth === -1: nth; 
} 

한다 : 여기 내 코드입니다 그것이있는 방법. 콘솔에서 n 번째 인수를 로그하면 '거짓'이 표시됩니다.

나는이 문제를 다른 시간에도 다루었습니다. 그래서 내가 묻는 것은 'else'섹션없이 간단한 if-statement를 어떻게 작성합니까? 나는 if-statement가 인 경우에 인 경우에 실행하고 싶은 코드 블럭을 가지고 있지만, false라면 나는 아무것도하지 않기를 바란다. 감사!

+0

아마도 'nth === -1' 대신'-1'을 의미했을 것입니다. – Xufox

+0

if 파트에서 항등 연산자를 사용하면 -1을 반환하면됩니다. var findDigit = function (num, nth) { nth = nth <0? -1 : nth; }' – synthet1c

+0

과제 문이 있습니다. '? '의 결과는'nth'에 할당됩니다. 'nth'가 음수라면'? '의 결과는'nth === -1'이며 true 또는 false이지만 결코 -1이 아니라고합니다. '?'는 속기'if' 문이 아닙니다. 그것은 표현입니다. –

답변

1

를 인해 사용중인 경우 문 : 다음 코드가 실행됩니다 nth < 0 : nth === -1을 체크가있는 경우 (유형 포함)이다 n 번째는 정확히 -1입니다. 바로이 부분을 생략하고 내가 자바 스크립트에 대해 잘 모르는

var findDigit = function(num, nth){ 
    nth = nth < 0 ? -1: nth; 
} 
+0

아, 그건 내 실수입니다. 고마워요! – newman

1

당신은 값을 배치하는 것이 다른 작업을 수행 할 필요가 없습니다 :

nth = nth < 0 ? -1: nth; 
1

인쇄,하지만 난 당신이 부울 (거짓) 값을 반환하는 이유가 비교 연산자 ===을 사용하고 있다고 생각합니다.

값을 할당하는 데 =을 사용하십시오. nth = nth <? nth = -1 : nth;

희망이 있습니다.

관련 문제