我正在查看一個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是最好的做法還是僅僅是「聰明」的代碼?