JavaScript配列メソッド早見表(ライブ実行)

JavaScript配列メソッド早見表

JavaScript配列メソッド早見表(各メソッドをその場で実行) | We.Inc

自分のリストを入力すると、map、filter、reduce、find、sort、spliceなど30以上の配列メソッドがその場で実行されます。元の配列を変更するメソッドには、すべてはっきり目印を付けています。

配列メソッドは2つの陣営に分かれます。push、pop、splice、sort、reverseのように、呼び出した配列そのものを変更するもの。そしてmap、filter、slice、toSorted、reduceのように、新しい配列や値を返して元の配列には手を付けないものです。下のリストを編集すると、すべてのメソッドがあなたの値で再実行されます。

よくある配列の処理と対応するメソッド

多くの早見表は、メソッド名と決まりきった例を1つ並べるだけです。ここでは、例が自分で操作できるリストに対して実行されるので、重複がある場合、空のリスト、要素が1つだけの場合に何が起きるかを確認できます。各行には、メソッドがデータを書き換えるかどうかがひと目でわかるタグが付いています。これはReactなどのライブラリで状態のバグを生む大きな原因です。

よくある質問

JavaScriptで配列の長さを取得するには?

arr.lengthを読み取ります。メソッドではなくプロパティなので、括弧は付けません。値は最大のインデックスより1大きく、通常の配列では要素数と同じです。arr.length = 0と設定すると配列が空になり、小さい数を設定すると末尾の要素が切り捨てられます。

mapとforEachの違いは何ですか?

mapは、各要素に対して関数が返した値から新しい配列を作るので、変数に代入したり、さらにメソッドをつなげたりできます。forEachは関数を呼び出すだけで、undefinedを返します。結果が欲しいときはmapを、ログ出力などの副作用だけが目的のときはforEachを使いましょう。

元の配列を変更する配列メソッドはどれですか?

push、pop、shift、unshift、splice、sort、reverse、fill、copyWithinは、配列をその場で変更します。lengthやインデックスに直接値を設定した場合も同様です。この早見表のそれ以外のメソッドは、元の配列に手を付けません。

配列を変更せずに要素を削除するには?

値で削除するならarr.filter((x) => x !== 'kiwi')のようにfilterを、位置で削除するならtoSpliced(index, 1)を使います。どちらも新しい配列を返し、元の配列はそのまま残ります。

mapがundefinedを返すのはなぜですか?

コールバックが何も返していません。波括弧を使ったアロー関数には明示的なreturnが必要です。(x) => x * 2または(x) => { return x * 2; }と書きましょう。returnがないと、その位置はundefinedになります。

チェーンを左から右へ読む

検索メソッドが返すものはそれぞれ違う

破壊的メソッドと対応するコピー系メソッド

Reactの状態や関数の引数など、元の配列に触れてはいけない場合は、左の列を右の列に置き換えましょう。

その場で変更か、コピーか

map、filter、reduceをつなげる

支払い済み注文の合計を1つのチェーンで

各ステップが新しい配列を返すので、次のメソッドはそれに対して実行されます。元のordersリストは一切変更されません。

lengthの読み取りと設定

lengthはただのプロパティです。小さくすると末尾の要素が削除されるため、配列の変更とみなされます。

変更せずにReactの状態を更新する

コピー系のメソッドはReactに新しい配列を渡すので、コンポーネントが再レンダリングされます。状態の配列にsortやpushを呼び出しても再レンダリングされません。

すべて

読み取り

検索

変換

並べ替え

追加と削除

反復

ライブ配列メソッド表

カンマ区切りのリストを入力すると、編集に合わせて下のすべてのメソッドが実行されます。

リスト(arr)

メソッドを絞り込む

例:find、sort

メソッドのグループ

この表のすべてのメソッド

{n}件を表示

呼び出し

グループ

元の配列を変更するか

役割

結果

する

しない

エラー:{v}

無料で始める · クレジットカード不要

関連: ガイド|Webマーケティングと集客を学ぶ

製品

ご利用いただける方

機能

リソース

会社情報

サイトマップを見る