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

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

javascriptでの奇妙なループ動作

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

Related 関連記事

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

    javascriptでの奇妙なループ動作

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

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

  14. 14

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

  15. 15

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

  16. 16

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

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

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

  24. 24

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

  25. 25

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

  26. 26

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

  27. 27

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

  28. 28

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

  29. 29

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

ホットタグ

アーカイブ