JavaScript配列の一般的なメソッドの概要

JavaScript配列の一般的なメソッドの概要

1. はじめに

配列メソッドが多すぎます。この記事では、整理と復習のために、間違って覚えがちな配列メソッドをいくつか記録します。
他の配列メソッドも今後徐々に追加される予定です。
配列メソッドをうまく活用すると、データ処理がエレガントかつシンプルになります。

それでは始めましょう:

2. フィルター()

説明する:

filter()メソッドは新しい配列を作成し、条件を満たすすべての要素を作成された新しい配列に追加します。

文法:

Array.filter(callback(要素, インデックス, 配列) { // 関数本体}, thisValue)


パラメータ:

callbackthisValue :

パラメータオプションですか?説明する
パラメータ1折り返し電話必須配列の各要素をテストする関数。要素がテストに合格して保持される場合は true を返し、そうでない場合は false を返します。 3 つのパラメータを受け取ります。
パラメータ2この値オプションコールバックが実行されるときにこれに使用する値。
オブジェクトはこの実行のコールバックとして使用され、関数に渡されます。
thisValue が省略されている場合、「this」の値は「undefined」になります。

コールバックパラメータリスト:

パラメータオプションですか?説明する
パラメータ1要素必須現在の要素
パラメータ2索引オプション現在の要素のインデックス値
パラメータ3配列オプションフィルタが呼び出される配列

thisValue のパラメータ:

callbackが実行されるときにthisに使用する値。

戻り値:

filter()関数のパラメータの戻り値で構成される新しい配列です

例:

ユーザーに = [
  {id: 11、名前: "孫悟空"}、
  {id: 21、名前: "朱八戒"}、
  {id: 31、名前: "Sha Monk"}
];

// 最初の 2 人のユーザーの配列を返します。let filterUsers = users.filter(item => item.id < 31);

console.log(filterUsers.length); // 2

3. マップ()

説明する:

map()メソッドは、各要素が指定された関数を 1 回呼び出した戻り値である新しい配列を作成します。

文法:

Array.map(callback(currentValue, index, array) { // 関数本体}, thisValue)


パラメータ:

callbackthisValue

パラメータオプションですか?説明する
パラメータ1折り返し電話必須配列内の各要素に対して実行されるコールバック関数。 3 つのパラメータを受け取ります。
パラメータ2この値オプションコールバックが実行されるときにこれに使用する値。
オブジェクトはこの実行のコールバックとして使用され、関数に渡されます。
thisValue が省略されている場合、「this」の値は「undefined」になります。

コールバックパラメータリスト:

パラメータオプションですか?説明する
パラメータ1要素必須現在の要素
パラメータ2索引オプション現在の要素のインデックス値
パラメータ3配列オプションフィルタが呼び出される配列

thisValue のパラメータ:

callbackが実行されるときにthisに使用する値。

戻り値:

これは、元の配列の各要素に対してコールバック関数を実行した結果で構成される新しい配列です。

例:

number = [1, 2, 3].map(item => item + 1) とします。

console.log(長さ); // 2, 3, 4

4. ソート()

説明する:

map()メソッドは元の配列を変更して要素の順序を変更します。

注:デフォルトの並べ替え順序は、要素を文字列に変換してから、UTF-16 コード単位の値のシーケンスを比較する場合です。

文法:

Array.sort(比較関数)


パラメータ:

compareFunction

パラメータオプションですか?説明する
パラメータ1比較関数オプションソート順を指定する関数。省略した場合、要素は変換された文字列内の文字の Unicode 位置に従ってソートされます。

compareFunctionのパラメータリスト:

パラメータオプションですか?説明する
パラメータ1ファーストエル必須比較する最初の要素。
パラメータ2セカンドエル必須比較する2番目の要素。

compareFunction 戻り値

2つの値の順序を示す数値を返します

  • a が b より小さい場合、ソートされた配列内で a は b の前に出現し、0 未満の値が返されます。
  • a が b と等しい場合は 0 を返します。
  • a が b より大きい場合は、0 より大きい値を返します。

戻り値:

戻り値はソートされた配列ですが、元の配列が変更されるため、戻り値は通常無視されます。

例:

number = [1, 2, 3].map(item => item + 1) とします。

console.log(長さ); // 2, 3, 4

5. 減らす()

説明する:
reduce()メソッドは、配列内の削除された要素や値が割り当てられていない要素を除外して、配列内の各要素に対してコールバック関数を順番に (昇順で) 実行します。その結果を値として評価します。

注: Reduce() は関数 compose の高階関数として使用できます。

文法:

Array.reduce(コールバック(アキュムレータ、現在の値、インデックス、配列)、初期値)


パラメータ:

callbackinitialValue

パラメータオプションですか?説明する
パラメータ1折り返し電話必須配列内の各配列要素に対して関数を実行します (initialValue がない場合、最初の値は変更関数を実行しません)。4 つのパラメータを受け取ります。
パラメータ2初期値オプションコールバック関数の初期値

コールバックパラメータリスト:

パラメータオプションですか?説明する
パラメータ1アキュムレータ必須アキュムレータはコールバックの戻り値を累積します。これは、コールバックへの最後の呼び出しによって返された累積値、つまり initialValue です。
パラメータ2現在の値必須現在の要素
パラメータ3索引オプション現在の要素のインデックス値
パラメータ4配列オプションReduce() が呼び出される配列

initialValueのパラメータ:

callback関数が最初に呼び出されたときに最初の引数として使用される値。 初期値が指定されていない場合は、配列の最初の要素が初期値として使用されます。 初期値のない空の配列に対してreduceを呼び出すと、エラーが発生します。

戻り値:

関数累積処理の結果は、すべてのcallback関数がaccumulator後に実行されます。

注:リデューサー関数の戻り値はアキュムレータに割り当てられ、配列の各反復で記憶され、最終的な単一の結果値になります。

例:

数値を[1, 2, 3, 4]とします。

結果を number.reduce((sum, current) => sum + current, 0); とします。

console.log(結果); // 10

6. 各()

説明する:

Reduce() メソッドは、配列内の削除された要素や値が割り当てられていない要素を除外して、配列内の各要素に対してコールバック関数を順番に (昇順で) 実行します。その結果を値として評価します。

注: Reduce() は関数 compose の高階関数として使用できます。

文法:

Array.forEach(コールバック(現在の値、インデックス、配列)、この値)

パラメータ:

callbackthisValue

パラメータオプションですか?説明する
パラメータ1折り返し電話必須3 つの引数を取って、配列内の各要素に対して関数を実行します。
パラメータ2この値オプションコールバックが実行されるときにこれに使用する値。
オブジェクトはこの実行のコールバックとして使用され、関数に渡されます。
thisValue が省略されている場合、「this」の値は「undefined」になります。

コールバックパラメータリスト:

パラメータオプションですか?説明する
パラメータ1現在の値必須現在の要素
パラメータ2索引オプション現在の要素のインデックス値
パラメータ3配列オプションforEach() が呼び出される配列自体

thisValue のパラメータ:

callbackが実行されるときにthisに使用する値。

戻り値:

このメソッドには戻り値はありません。

例:

数値を[1, 2, 3, 4]とします。

number.forEach((項目, インデックス, 配列) => {
 console.log(アイテム); // 1/2/3/4
});

7. メソッドリスト

メソッド属性:

方法元の配列を変更する戻り値の説明説明する
フィルター()いいえ新しいフィルタリングされた配列フィルター
地図()いいえループ後の新しい配列サイクル
選別()はいソートされた配列の場合ソート
減らす()いいえ関数が蓄積して処理した後の結果アキュムレータ
各()はい戻り値は未定義ですサイクル

JavaScript 配列の一般的なメソッドをいくつかまとめたこの記事はこれで終わりです。JavaScript 配列の一般的なメソッドに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

8. 参考文献

MDN 中国語公式サイト https://developer.mozilla.org/zh-CN/
W3School 簡体字中国語版 https://www.w3school.com.cn/

以下もご興味があるかもしれません:
  • JS 1次元配列を3次元配列に変換する方法
  • JavaScript 配列のreduce() メソッド
  • JavaScript 配列メソッドの詳細な例
  • JavaScript es6 の新しい配列メソッドの詳細な説明
  • JS配列メソッドの詳細な説明
  • JavaScript 配列メソッドの完全なリスト

<<:  将来人気が出るであろういくつかのナビゲーション方向

>>:  HTMLタグのフルネームと機能の紹介

推薦する

Windows Server 2008 のサーバー パフォーマンス監視に関するチュートリアル

次に、ログ管理、ログのアーカイブ、ログのトラブルシューティング、イベントの転送と収集のためのコンピュ...

Dockerコンテナとローカルマシン間でファイルを転送する方法

ホストとコンテナ間でファイルを転送するには、コンテナの完全な ID が必要です。取得方法は以下の通り...

パスワードログインなしでCentOS7にxshellリモートログインするアイデアを詳しく解説

まず、全体的な考え方についてお話しします。 1. パスワードを使用してCentOSシステムにログイン...

SVNサービスバックアップ操作手順の共有

SVN サービスのバックアップ手順1. ソースサーバーとターゲットサーバーを準備するソースサーバー:...

Nginx は gzip 圧縮に基づいてアクセス速度を向上します

1. nginx はなぜ gzip を使用するのですか? 1. 圧縮の役割:ページがgzipで圧縮さ...

JS でオブジェクトが空オブジェクトかどうかを判断する 5 つの方法

1. jsonオブジェクトをjson文字列に変換し、文字列が「{}」であるかどうかを判断します。 v...

SQL ROW_NUMBER() および OVER() メソッドのケーススタディ

構文フォーマット: row_number() over(partition by grouping ...

LinuxサーバーにGRUBをインストールする手順

Linux サーバーに GRUB をインストールする方法クラウド移行ツールを使用して、CentOS ...

MySQL 8.0.19 インストール詳細チュートリアル (Windows 64 ビット)

目次MySQLを初期化するMySQL サービスをインストール + MySQL サービスを開始MySQ...

Mac+IDEA+Tomcat の設定手順

目次1. ダウンロード2. インストールと解凍3. Tomcatを起動する4番目に、インストールが成...

Windows Server 2008 R2 サーバーが理由もなく自動的に再起動する問題の解決策

Windows Server 2008 サーバーが自動的に再起動します。サーバーにログインした後、ど...

MySQL で指定した桁数の乱数を生成する方法と、バッチで乱数を生成する方法

1. まず、よく使われるMySQL関数をいくつか紹介しますRAND() は 0 から 1 (0<...

Webフロントエンドインターフェースの設計に必須のスキル

[必須] ユーザーインターフェースPhotoShop/花火デザインアーティストと協力して、スケッチを...

MySQL 8.0 のメモリ関連パラメータの概要

理論的には、MySQL によって使用されるメモリ = グローバル共有メモリ + max_connec...

mysql 5.7.23 winx64 解凍バージョンのインストールチュートリアル

参考までに、mysql-5.7.23-winx64 解凍版の詳細なインストールチュートリアルです。具...