我正在查看一个CodeWars问题(IQ Test)的解决方案,其中给出了一串数字以及除1之外的所有数字是偶数还是奇数。您需要返回索引加上与其余数字不一样的数字位置的1。&1 JavaScript。它是如何工作的?聪明还是好?
我对下面发布的解决方案中说& 1的行感到困惑。该代码不起作用w/& &或w/& 1带走。
function iqTest(numbers){
numbers = numbers.split(' ')
var evens = []
var odds = []
for (var i = 0; i < numbers.length; i++) {
if (numbers[i] & 1) { //PLEASE EXPLAIN THIS LINE!
odds.push(i + 1)
} else {
evens.push(i + 1)
}
}
return evens.length === 1 ? evens[0] : odds[0]
}
此外,您会考虑使用& 1是最好的做法还是仅仅是“聪明”的代码?