私は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]){'この行。 –
どこがクラッシュするのかわからないときは、try-catchブロックに「ブレーク」を付けてスティックするか、変数「i」のようなログに何かを表示してください。すでに言及したように、プッシュすると解決します。 – Garamaru