我很新的JavaScript,我無法找出此時的undefined
對象插入我的數組:數組中如何顯示空插槽?
function foo(arrA){
if(!arrA || arrA[0] === 0)
return undefined;
let arrB = [];
let prevEntry = 1;
for(let i=0; i < arrA.length; i++) {
if (2*prevEntry == arrA[i]) {
prevEntry *= 2;
arrB[i] = (Math.pow(arrA[i], 2)).toString();
}
}
return arrB;
}
foo([2,4,6,8,9,15,16,27]);
當輸出我得到的2的冪,按預期的方式排列,但它與undefined
對象交錯,我只是不明白爲什麼。
(7) ["4", "16", undefined × 1, "64", undefined × 2, "256"]
感謝您的幫助提前! :-)
*如果*意味着你不要在每個ARRA將值設置到ARRB。所以有空位 –
'if(2 * prevEntry == arrA [i]){'這條線。 –
每當你不知道它崩潰的地方,堅持一個帶有'break'的try-catch塊或者在變量'i'中打印日誌中的東西。如前所述 - 推動將解決它。 – Garamaru