JavaScript配列メソッドリファレンス
すべてのJavaScript配列メソッドを構文、例、ビジュアル図で検索・学習。
このツールについて
JavaScript配列メソッドリファレンスは、JavaScript配列で利用可能なすべてのメソッドの
包括的でインタラクティブなガイドです。pushやpopの基本を学ぶ初心者から、
ES2023で追加されたtoSorted、toReversed、withを活用する経験豊富な
開発者まで、動作するコード例、パラメータ表、視覚的な変換図で
API全体を手軽に確認できます。
メソッドは3つのカテゴリに分類されています:元の配列を変更する変更系メソッド
(push、pop、splice、sort、reverseなど)、ソースに
触れずに新しい値を返す非変更系メソッド(map、filter、reduce、
find、slice、toSorted、withなど)、およびArrayコンストラクタ
自体の静的メソッド(Array.from、Array.of、Array.isArray)。
各カードはメソッドが配列を変更するかどうかを明確に示すので、より安全で
予測可能なコードを書くことができます -- ReactやStataeドリブンフレームワークでは
特に重要です。
内蔵の**「どのメソッドを使うべき?」**判断ヘルパーでは、やりたいこと (要素の追加、削除、変換、検索、ソートなど)を選択すると、推奨メソッドと それぞれの使い分けが即座に表示されます。
すべての処理はブラウザ内で完全に行われます。データはサーバーに送信されず、 アカウントやサインアップは不要で、一度読み込めばオフラインでも動作します。 JSONデータを扱う場合は、JSONフォーマッターで フォーマットと検証ができます。TypeScript固有のユーティリティについては、 JSON to TypeScriptコンバーターが サンプルデータから型定義を生成します。
使い方
- 上部の検索バーを使って、名前、説明、またはユースケースでメソッドを検索します(例:「sort」、「remove」、「immutable」)。
- カテゴリタブ(All、Mutating、Non-Mutating、Static)をクリックしてリストをフィルタリングします。
- **「Which method?」**ボタンをクリックして判断ヘルパーを開きます -- やりたいことを選んで推奨メソッドを確認します。
- メソッドカードをクリックして展開し、完全な構文、パラメータ、戻り値、ビジュアル図、コード例を確認します。
- コード例のCopyをクリックしてクリップボードにコピーするか、Ctrl+Shift+Cで現在展開中のメソッドのコードをコピーします。
- 各カードのMutates(赤)またはPure(緑)バッジで、メソッドが元の配列を変更するかどうかを確認します。
- 各カード下部のPerformanceセクションでBig-O計算量と最適化のヒントを確認します。
人気の配列メソッド例
よくある質問
データは安全ですか?
はい。このツールはブラウザ内で完全に動作する静的リファレンスです。ユーザー入力はどこにも送信されません -- すべてのメソッドデータ、例、図はページに組み込まれています。サーバーへの通信やデータのログ記録はありません。
変更系メソッドと非変更系メソッドの違いは何ですか?
変更系メソッド(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を押すとクリップボードにコピーされます。