5

現在のGoogleChrome(バージョン22.0.1229.79、Mountain Lionを搭載したiMac)では、次のコード

var arr = [1, 3, 5];
console.log(arr);

delete arr[1];
console.log(arr);

console.log(arr.pop());
console.log(arr);

表示されます

[1, undefined × 2] 
[1, undefined × 2] 
5 
[1, undefined × 1] 

Firefoxが同様に動作する原因となった他の状況もあります。それらはChromeとFirefoxのバグですか?しかし、FirefoxとChromeの両方が同様のバグの影響を受けやすいのは奇妙に思えます-それとも、配列の削除との動作console.logですか?おそらく、console.log別のスレッドで実行するべきではありません。

4

2 に答える 2

1

Firefox 7.0 の場合:

var arr = [1,3,5];

console.log(削除 arr[1]); // [1, undefined, 5] が表示されます

そして、私の意見では、それは正しい動作です =) だから、それは単なるバグかもしれません。

于 2012-10-07T08:16:29.890 に答える
1

これは、処理がキューに入れられているconsole.logため、印刷が遅れ、オブジェクトまたは配列の新しいバージョンが表示されます: Is Chrome の JavaScript コンソールは配列の評価を怠っていますか?

私の答えには5つの解決策JSON.stringify()があり、最良の解決策でした。

于 2012-10-09T16:06:14.420 に答える