160 이외의 숫자를 1로 설정하고 160을 0으로 변환하려고합니다. 160은 정확히 1로, 더 이상은 더 이상으로 해석해서는 안됩니다. 아무도 이것을하는 방법을 아는가? if 나 else를 사용하고 싶지는 않지만 modulus와 math.abs를 사용하는 것이 좋습니다. 감사.jQuery에서 If-less 1 또는 0 해결
정리 : 삼항 연산자가 없으므로 수학적 연산이 더 필요하거나 그런 식으로 익숙하지 않은 것을 찾고 있습니다.
160 이외의 숫자를 1로 설정하고 160을 0으로 변환하려고합니다. 160은 정확히 1로, 더 이상은 더 이상으로 해석해서는 안됩니다. 아무도 이것을하는 방법을 아는가? if 나 else를 사용하고 싶지는 않지만 modulus와 math.abs를 사용하는 것이 좋습니다. 감사.jQuery에서 If-less 1 또는 0 해결
정리 : 삼항 연산자가 없으므로 수학적 연산이 더 필요하거나 그런 식으로 익숙하지 않은 것을 찾고 있습니다.
엄격한 수학 연산은 아니지만, 자바 스크립트 0을 사용할 수 있습니다. 이 작업을 수행하려면개체 기능 max
및 min
이 필요합니다.
160 1로 해결 n
를 얻으려면, 그렇지 않으면 0, 당신은 사용할 수 있습니다
var r = Math.abs(Math.max(-1, Math.min(1, n - 160))) ;
을 당신이 1 반대 0을 원한다면, 당신은 할 수 있습니다 :
var r1 = Math.abs(r - 1) ;
(참고,이 편집 전과)
삼항 연산자 (가도 if
도 else
입니다;)) :
var value = number === 160 ? 0 : 1;
하지 수학하지만 타입 변환 :
var value = +(number !== 160);
아직
하지 수학하지만 부울 연산자 :
var value = (number !== 160) && 1 || 0;
조금 수학 및 유형 변환 :
var value = +(!!(160 - number)); // outer brackets can probably be omitted
어쩌면 내가 지금 중단해야)
명확히 " if 또는 else "또는"조건부/분기 ", 또는 원하지 않는 답변 **을 많이 얻을 것입니다. –
아무 것도 작동하지 않았고 불행히도 Modulus와 Math.abs()를 사용하여 보았습니다. 160으로 1을 만드는 것은 매우 간단합니다. 동일한 알고리즘을 사용하여 0으로 해결되는 숫자를 만드는 것이 쉽지 않습니다. – Vap0r