JavaScript配列メソッドリファレンス

すべてのJavaScript配列メソッドを構文、例、ビジュアル図で検索・学習。

このツールについて

JavaScript配列メソッドリファレンスは、JavaScript配列で利用可能なすべてのメソッドの 包括的でインタラクティブなガイドです。pushpopの基本を学ぶ初心者から、 ES2023で追加されたtoSortedtoReversedwithを活用する経験豊富な 開発者まで、動作するコード例、パラメータ表、視覚的な変換図で API全体を手軽に確認できます。

メソッドは3つのカテゴリに分類されています:元の配列を変更する変更系メソッド (pushpopsplicesortreverseなど)、ソースに 触れずに新しい値を返す非変更系メソッド(mapfilterreducefindslicetoSortedwithなど)、およびArrayコンストラクタ 自体の静的メソッド(Array.fromArray.ofArray.isArray)。 各カードはメソッドが配列を変更するかどうかを明確に示すので、より安全で 予測可能なコードを書くことができます -- ReactやStataeドリブンフレームワークでは 特に重要です。

内蔵の**「どのメソッドを使うべき?」**判断ヘルパーでは、やりたいこと (要素の追加、削除、変換、検索、ソートなど)を選択すると、推奨メソッドと それぞれの使い分けが即座に表示されます。

すべての処理はブラウザ内で完全に行われます。データはサーバーに送信されず、 アカウントやサインアップは不要で、一度読み込めばオフラインでも動作します。 JSONデータを扱う場合は、JSONフォーマッターで フォーマットと検証ができます。TypeScript固有のユーティリティについては、 JSON to TypeScriptコンバーターが サンプルデータから型定義を生成します。

使い方

  1. 上部の検索バーを使って、名前、説明、またはユースケースでメソッドを検索します(例:「sort」、「remove」、「immutable」)。
  2. カテゴリタブ(All、Mutating、Non-Mutating、Static)をクリックしてリストをフィルタリングします。
  3. **「Which method?」**ボタンをクリックして判断ヘルパーを開きます -- やりたいことを選んで推奨メソッドを確認します。
  4. メソッドカードをクリックして展開し、完全な構文、パラメータ、戻り値、ビジュアル図、コード例を確認します。
  5. コード例のCopyをクリックしてクリップボードにコピーするか、Ctrl+Shift+Cで現在展開中のメソッドのコードをコピーします。
  6. 各カードのMutates(赤)またはPure(緑)バッジで、メソッドが元の配列を変更するかどうかを確認します。
  7. 各カード下部のPerformanceセクションでBig-O計算量と最適化のヒントを確認します。

人気の配列メソッド例

すべてのJavaScript配列メソッド例を見る →

よくある質問

データは安全ですか?

はい。このツールはブラウザ内で完全に動作する静的リファレンスです。ユーザー入力はどこにも送信されません -- すべてのメソッドデータ、例、図はページに組み込まれています。サーバーへの通信やデータのログ記録はありません。

変更系メソッドと非変更系メソッドの違いは何ですか?

変更系メソッド(push、pop、sort、reverse、spliceなど)は元の配列をその場で変更します。非変更系メソッド(map、filter、slice、toSorted、withなど)は元の配列を変更せず、新しい配列や値を返します。Reactなどのフレームワークでは、状態の意図しない副作用を避けるために、一般的に非変更系メソッドを使用すべきです。

ES2023の配列メソッドとは何ですか?

ES2023(ECMAScript 2023)では4つの新しい非変更系配列メソッドが導入されました:toSorted()(不変ソート)、toReversed()(不変リバース)、toSpliced()(不変splice)、with()(不変要素置換)。これらは2024年時点ですべてのモダンブラウザでサポートされています。

reduceとmap + filterはいつ使い分けるべきですか?

すべての要素を1対1で変換する場合はmapを使用します。条件に基づいて要素を除外する場合はfilterを使用します。単一の値(合計、グループ化されたオブジェクト、カスタムデータ構造など)を累積する場合はreduceを使用します。reduceはmapとfilterを再現できますが、map().filter()のチェーンの方が通常は読みやすいです。

比較関数なしのsort()が数値を正しくソートしないのはなぜですか?

デフォルトでは、sort()は要素を文字列に変換し、UTF-16コードユニット値で比較します。そのため[10, 1, 21, 2].sort()は[1, 10, 2, 21]になります('10'がアルファベット順で'2'より前に来るため)。数値ソートには必ず比較関数を渡してください:.sort((a, b) => a - b)。

findとfilterの違いは何ですか?

find()は最初にマッチした要素を返して検索を停止します(ショートサーキット)。filter()はマッチするすべての要素を新しい配列として返します。1つの結果が必要な場合はfindを、すべてのマッチが必要な場合はfilterを使用します。

コード例をコピーするにはどうすればよいですか?

コード例の横にあるCopyボタンをクリックするか、メソッドを展開してCtrl+Shift+Cを押すとクリップボードにコピーされます。