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タグのフルネームと機能の紹介

推薦する

ネイティブ js を使用してライブ バレット スクリーンのスクロール効果をシミュレートします。

目次1. 基本原則2. 特定のコード要約する1. 基本原則まず、生放送エリアを10の部分に分割し(個...

elementui での el-cascader カスケードセレクタの実践

目次1. 効果2. メインコード1. 効果機能: インターフェイスから取得したデータを使用してオプシ...

docker runとstartの違い

docker における実行と開始の違いDocker run はミラーイメージを指定します。そしてdo...

フォームを送信した後、別のファイルに移動する

<br />質問:特定のファイルにジャンプするには、HTML でどのように記述すればよい...

Mysql のいくつかの複雑な SQL ステートメント (重複行のクエリと削除)

1. 重複行を見つける blog_user_relation a から * を選択 WHERE (...

ウェブ開発者はIE7とIE8の共存を懸念している

今日、IE8 をインストールしました。ダウンロードするために Microsoft の Web サイト...

JavaScriptの擬似配列と配列の使い方と違い

擬似配列と配列JavaScript では、5 つのプリミティブ データ型を除き、関数を含め、その他す...

MySQL スライディングオーダー問題の原理と解決の例分析

この記事では、例を使用して、MySQL スライディング順序問題の原理と解決方法を説明します。ご参考ま...

js における浅いコピーと深いコピーの詳細な説明

目次1. jsメモリ2. 譲渡3. 浅いコピー4. ディープコピー序文:以下の記事を読む前に、記憶に...

uni-appのスタイルの詳細な説明

目次uni-app のスタイル要約するuni-app のスタイルsassプラグインは公式ウェブサイト...

Dockerを使用してRedisクラスターを構築する方法

目次1. Redis Dockerベースイメージを作成する2. Redisノードイメージを作成する3...

ドメイン名を介してプロジェクトにアクセスするnginx + tomcatの例

ドメイン名を使ってプロジェクトにアクセスする方法が気になったのですが、自分でドメイン名を取得するのは...

MySQLスケーラブル設計の基本原則

目次序文1. スケーラビリティとは何ですか?スケールアウトの利点:スケールアウトのデメリット:スケー...

パーソナライズされた検索エンジンを使用して、必要なパーソナライズされた情報を検索します

現在、多くの人がインターネット上で生活しており、インターネットで情報を検索することは日常的な作業とな...

Chrome Dev Tools を使用してページのパフォーマンスを分析する方法 (フロントエンドのパフォーマンス最適化)

背景開発やデバッグには Chrome Dev Tools がよく使用されますが、ページのパフォーマン...