所以我在做一个谜评估Kaprekar的套路,并在第一部分,我需要检查,以确保4输入数字至少有两个独特的数字,所以我这样做:为什么这组逻辑操作符正确工作?
let numArr = num.toString().split("");
if (numArr[0] == numArr[1] && numArr[2] && numArr[3]) {
return 0;
}
我试图寻找但我一直在找到与短路运营商的链接。我期待写入numArr [0] ==到每个& &区块,但令我惊讶的是它的工作。任何人都可以解释为什么3333返回0,但不是1234?我假定numArr [2]和numArr [3]会自动评估为true。
长度不为零的字符串是truthy。它不会为1234返回0,因为'1'不等于'2'。 – doug65536
这也应该为1123返回0。 – vijayst
'if(numArr [0] == numArr [1] && numArr.length> = 4)'会和你的代码完全一样。 – doug65536