JavaScriptで配列をループしているときの奇妙な動作

Behzad Hatami

Eloquent Javascriptを読んでいて、演習の1つに直面していると、かなり奇妙な動作が見つかりました。(少なくとも私にとっては)

演習では、配列を逆にするために関数を作成するように求められます。配列をループして、元の配列から1つのアイテムをポップし、それを一時的な配列にプッシュして、最終的に返されるようにすることができると思いました。しかし、for-ofループまたは通常のシーケンシャルループのいずれかを使用して配列をループしているため、最後の項目は転送されません。

誰かが正確に何が起こるか教えてもらえますか?

const reverseArray = function(array) {
let rev = [];
for (let x = 0; x <= array.length; x++) {

    rev.push(array.pop());
    console.log(rev, array)
}
return rev;
};


console.log(reverseArray(["A", "B", "C"]));

出力:

["C"] ["A", "B"]
["C", "B"] ["A"]
["C", "B"]
アンキットアガーワル

場合pop()に適用されるarray、それは長さ減少arrayように、ループは、それが以前配列の長さより1小さいアイテムを検索し実行します。したがって、できることはarray、変数にの長さを割り当て、それをforループの比較に使用することです

let rev = [];
const reverseArray = function(array) {
var length = array.length;
for (let x = 0; x < length; x++) {
  rev.push(array.pop());
}
return rev;
};


console.log(reverseArray(["A", "B", "C"]));

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

forループで配列を変更するときの奇妙な動作

分類Dev

forループで配列を変更するときの奇妙な動作

分類Dev

javascriptで配列を作成するときの奇妙な動作

分類Dev

forループの内側と外側の異なる値としての配列の奇妙な動作

分類Dev

Python: `yieldfrom`を使用しているときの奇妙な動作

分類Dev

ワイルドカードを使用して文字列を読み取るときの奇妙なbashの動作

分類Dev

chrome / safariでスクロールしているときに奇妙な動作をする背景画像パターン

分類Dev

Javascriptでオブジェクトをキーとして使用するときの奇妙な動作

分類Dev

Cで文字列配列の要素を出力するときの奇妙な動作

分類Dev

単語の大きなリストをループしている間の奇妙な動作

分類Dev

ループでread_lineを使用するときの奇妙な動作

分類Dev

サーバーからの配列がajax成功コールバック関数で奇妙な追加動作を引き起こしていますか?

分類Dev

日付関数を使用してグループ化するときのmysqlの奇妙な動作

分類Dev

論理配列を変更するときの奇妙な動作

分類Dev

配列で最大数を見つけるときの奇妙な動作

分類Dev

RパッケージをコンパイルしてcppコードでリンクしているときのSHLIBの奇妙な動作

分類Dev

char配列を単一のcharに割り当てるという奇妙な動作

分類Dev

ループ内の配列を更新およびログ記録するときに奇妙な動作をするjavascriptforループ

分類Dev

javascriptでの奇妙なループ動作

分類Dev

JavaScriptでJSONのすべての配列を手動でループしない

分類Dev

静的メソッドで配列Javaをコピーするときの奇妙な動作

分類Dev

numpy配列を使用しているときの奇妙な結果

分類Dev

連想配列を使用したforループでPHPが奇妙に動作する

分類Dev

Elasticsearch:カールを介して接続できない、奇妙な一貫性のない動作

分類Dev

JavaScript(getComputedStyle)を介して:before {content: '...'}文字列を読み取ることができますが、この文字列は奇妙な動作をします

分類Dev

Cでの文字列とループのこの予期しない動作を理解できませんでした

分類Dev

JavaScriptで++を使用するときの奇妙な動作

分類Dev

パンダgroupbyは、NaNがグループ列にあるときに奇妙な動作を適用します

分類Dev

一時テーブルを使用してレコードを更新するときのMySQLの奇妙な動作

Related 関連記事

  1. 1

    forループで配列を変更するときの奇妙な動作

  2. 2

    forループで配列を変更するときの奇妙な動作

  3. 3

    javascriptで配列を作成するときの奇妙な動作

  4. 4

    forループの内側と外側の異なる値としての配列の奇妙な動作

  5. 5

    Python: `yieldfrom`を使用しているときの奇妙な動作

  6. 6

    ワイルドカードを使用して文字列を読み取るときの奇妙なbashの動作

  7. 7

    chrome / safariでスクロールしているときに奇妙な動作をする背景画像パターン

  8. 8

    Javascriptでオブジェクトをキーとして使用するときの奇妙な動作

  9. 9

    Cで文字列配列の要素を出力するときの奇妙な動作

  10. 10

    単語の大きなリストをループしている間の奇妙な動作

  11. 11

    ループでread_lineを使用するときの奇妙な動作

  12. 12

    サーバーからの配列がajax成功コールバック関数で奇妙な追加動作を引き起こしていますか?

  13. 13

    日付関数を使用してグループ化するときのmysqlの奇妙な動作

  14. 14

    論理配列を変更するときの奇妙な動作

  15. 15

    配列で最大数を見つけるときの奇妙な動作

  16. 16

    RパッケージをコンパイルしてcppコードでリンクしているときのSHLIBの奇妙な動作

  17. 17

    char配列を単一のcharに割り当てるという奇妙な動作

  18. 18

    ループ内の配列を更新およびログ記録するときに奇妙な動作をするjavascriptforループ

  19. 19

    javascriptでの奇妙なループ動作

  20. 20

    JavaScriptでJSONのすべての配列を手動でループしない

  21. 21

    静的メソッドで配列Javaをコピーするときの奇妙な動作

  22. 22

    numpy配列を使用しているときの奇妙な結果

  23. 23

    連想配列を使用したforループでPHPが奇妙に動作する

  24. 24

    Elasticsearch:カールを介して接続できない、奇妙な一貫性のない動作

  25. 25

    JavaScript(getComputedStyle)を介して:before {content: '...'}文字列を読み取ることができますが、この文字列は奇妙な動作をします

  26. 26

    Cでの文字列とループのこの予期しない動作を理解できませんでした

  27. 27

    JavaScriptで++を使用するときの奇妙な動作

  28. 28

    パンダgroupbyは、NaNがグループ列にあるときに奇妙な動作を適用します

  29. 29

    一時テーブルを使用してレコードを更新するときのMySQLの奇妙な動作

ホットタグ

アーカイブ