JS初心者が配列を処理するための実践的な方法のまとめ

JS初心者が配列を処理するための実践的な方法のまとめ

join() メソッド: 指定された区切り文字を使用して配列内のすべての要素を文字列に接続します。

例:

myArr.join('-') // '-' 記号で連結

concat() メソッド: 2 つ以上の配列を 1 つの配列に結合する

例:

myArr.concat(arr1、arr2、...、arrN)

注: このメソッドは既存の配列を変更しないため、新しい配列データを操作する際に古い配列データを汚染することなく、空の配列とマージして古い配列をコピーすることができます。

sort() メソッド: 配列の要素をソートするために使用される

このメソッドがパラメータなしで呼び出されると、配列の要素はアルファベット順、より正確には文字コードの順にソートされます。これを行うには、まず配列要素を文字列に変換して(必要な場合)、比較できるようにします。

例:

myArr.sort() // アルファベット順に並べ替えmyArr.sort(function(a, b) {
	a - b を返す
}) // 昇順では降順は b - a
// 矢印関数の記述 myArr.sort((a, b) => a - b)

逆順() メソッド: 配列内の要素の順序を逆にするために使用されます

例:

myArr.reverse()

push() / unshift() メソッド: 配列の末尾/先頭に 1 つ以上の要素を追加し、新しい長さを返します。

例:

myArr.push(項目1、項目2、...、項目N)
myArr.unshift(項目1、項目2、...、項目N)

shift() メソッド: 配列の最初の要素を削除し、最初の要素の値を返します。

例:

myArr.shift()

pop() メソッド: 配列の要素 (デフォルトでは最後の要素) を削除し、その要素の値を返します。

例:

myArr.pop() // 配列の最後の要素を削除します。myArr.pop(1) // 配列内のインデックス 1 の要素を削除します。

splice() メソッド: 配列にアイテムを追加/削除し、削除されたアイテムを返します。

myArr.splice(インデックス、カウント、項目1、項目2、...、項目N)
// インデックスが必要です。項目を追加/削除する位置を指定する整数。配列の末尾からの位置を指定するには負の数を使用します。// count 必須。削除するアイテムの数。 0 に設定すると、アイテムは削除されません // item1、item2、...、itemN オプション。配列に新しい項目を追加する

forEach() メソッド: このメソッドは、配列の各要素を呼び出し、その要素をコールバック関数に渡すために使用されます (for ループに相当)

例:

myArr.forEach(関数(項目、インデックス、arr) {
 (インデックス === 3)の場合{
 アイテム = 123
 } 
}) // 配列をループし、インデックス 3 の要素の値を 123 に変更します。
// 矢印関数の記述 myArr.forEach((v, i, arr) => if (i === 3) { v = 123 })

注: 以下のメソッドは空の配列を検出せず、元の配列を変更しません。

indexOf() メソッド: 配列内に要素が存在するかどうかを調べてインデックスを返します。存在しない場合は -1 を返します。

例:

myArr.indexOf(アイテム)

注意: indexOf() メソッドでは大文字と小文字が区別されます。

slice() メソッド: 文字列の一部を抽出し、抽出した部分を新しい文字列として返します (配列の要素を浅くコピーします)

例:

定数 newArr = myArr.slice(0, 1)
// 配列 myArr の要素をインデックス 0 から 1 まで抽出します // パラメータ:
// begin (オプション): インデックス値、負の値を受け入れ、このインデックスから元の配列から要素の抽出を開始します。デフォルト値は 0 です。
// 終了(オプション):インデックス値(含まれない)、負の値が受け入れられ、元の配列要素の抽出はこのインデックスの前で終了します。デフォルト値は配列の末尾(最後の要素を含む)です

every() メソッド: 配列内の要素が指定された条件 (関数によって提供される) を満たしているかどうか (特定の値が true であるかどうかなど) を検出するために使用されます。

1 つの要素が条件を満たさない場合、式全体が false を返してテストを停止します。すべての要素が条件を満たす場合は true を返します。

例:

const state = myArr.every(関数 (item, index, arr) {
 返品商品 > 10
}) // 配列myArrのすべての要素が10より大きいかどうかを確認し、ブール値の状態を返します
// 矢印関数の記述 const state = myArr.every((v, i, arr) => v > 10)

some() メソッド: 配列内の要素が指定された条件 (関数によって提供される) を満たしているかどうか (特定の値が true であるかどうかなど) を検出するために使用されます。

条件を満たす要素がある場合、式全体がtrueを返し、検出を停止します。条件を満たす要素がない場合、falseを返します。

例:

const state = myArr.some(関数 (item, index, arr) {
 返品商品 > 10
}) // 配列myArrに10より大きい要素があるかどうかを確認し、ブール値の状態を返します
// 矢印関数 const state = myArr.some((v, i, arr) => v > 10)

include() メソッド: 配列に指定された値が含まれているかどうかを判定するために使用されます。一致する値が見つかった場合は true を返し、そうでない場合は false を返します。

注意: include() メソッドは大文字と小文字を区別します

パラメータ:
searchvalue: 必須、検索する値

start: オプション、検索を開始する位置を設定します。デフォルトは 0 です。

例:

const state = myArr.includes(3) // 配列myArrに要素3が存在するかどうかを確認し、ブール値stateを返します。
const state = myArr.includes(3, 3) // インデックス3から始まる配列myArrに要素3が存在するかどうかを確認し、ブール値stateを返します。

filter() メソッド: 新しい配列を作成します。新しい配列の要素は、指定された配列内の条件を満たすすべての要素をチェックすることによって取得されます。

例:

const newArr = myArr.filter(関数 (item, index, arr) {
 返品商品 > 10
}) // 配列 myArr 内のすべての要素が 10 より大きいかどうかを確認し、新しい配列 newArr を返します。
// 矢印関数の記述 const newArr = myArr.filter((v, i, arr) => v > 10)

map() メソッド: 関数を呼び出した後の元の配列要素の値を要素とする新しい配列を返します。

map() メソッドは、元の配列内の要素を順番に処理します。

例:

const newArr = myArr.map(関数 (item, index, arr) {
 返品商品 * 10
}) // 配列 myArr のすべての要素を 10 倍にして、新しい配列 newArr を返します。
// 矢印関数の記述 const newArr = myArr.map((v, i, arr) => v * 10)

例 (ネストされた配列オブジェクトの型):

const newArr = myArr.map(関数 (item, index, arr) {
 戻る {
 id: アイテム.id、
 新しいアイテム: '123'
 }
}) // 配列 myArr で指定されたオブジェクト要素内の要素または新しい要素を処理し、新しい配列 newArr を返します。
// 矢印関数の記述 const newArr = myArr.map((v, i, arr) => {
 戻る {
 id: v.id,
 新しいアイテム: '123'
 }
})

find() / findIndex() メソッド: テスト (関数内での判断) に合格した配列の最初の要素の値/インデックスを返します。条件を満たす要素がない場合は、undefined / -1 を返します。

例:

const val = myArr.find(関数 (item, index, arr) {
 返品商品 > 10
}) // 配列myArrの最初の要素の値valを返します。要素がない場合はundefinedを返します。

const val = myArr.findIndex(関数 (item, index, arr) {
 返品商品 > 10
}) // 配列myArr内の10より大きい最初の要素のインデックスを返します。要素がない場合は-1を返します。

Reduce() メソッド: 関数を呼び出した後の元の配列要素の値を要素とする新しい配列を返します。

このメソッドは、実行される関数と関数に渡される初期値の 2 つのパラメーターを受け取ります。

実行する関数 (total、currentValue、currentValue、arr):

合計: 必須、初期値、または計算後の戻り値

currentValue: 必須、現在の要素。

currentValue: オプション、現在の要素のインデックス。

arr: オプション、現在の要素が属する配列オブジェクト

例1:

定数myArr = [1, 2, 3]
const sum = myArr.reduce(function(pre, cur, index, arr) {
 コンソールログ(pre, cur)
 戻り値 pre + cur
})
コンソール.log(合計)
// 出力値は // 1, 2
// 3, 3
// 6

例 2 (初期反復値の設定):

定数myArr = [1, 2, 3]
const sum = myArr.reduce(function(pre, cur, index, arr) {
 コンソールログ(pre, cur)
 前へ + 次へ
}, 2)
コンソール.log(合計)
// 出力値は // 2, 1
// 3, 2
// 5, 3
// 8

応用:

1. 合計と積を求める

定数myArr = [1, 2, 3, 4]
const result1 = myArr.reduce(function(pre, cur) {
 戻り値 pre + cur
})
const result2 = myArr.reduce(function(pre, cur) {
 戻り値 pre * cur
})
コンソール.log(結果1) // 6
コンソール.log(結果2) // 24

2.配列内の各要素の出現回数を数える

const myArr = ['liang','qi','qi','liang','ge','liang'] 
const arrResult = myArr.reduce((pre,cur) => {
 (現在の状態がpreにある場合){
  前[現在]++
 }それ以外{
  前[現在] = 1
 }
 戻る前
},{})
console.log(arrResult) // 結果: {liang: 3, qi: 2, ge: 1}

3. オブジェクトのプロパティを合計する

定数myArr = [
 {
  名前: 'liangqi'、
  高さ: 55
 },{
  名前: 'mingming',
  高さ: 66
 },{
  名前: 'lele',
  高さ: 77
 }
]
定数結果 = myArr.reduce((a,b) => {
 a = a + b.重量
 返す
},0)
console.log(result) // 結果: 198

Array.of() メソッド: 値のセットを新しい配列に変換するために使用されます

例:

配列.of() // []
Array.of(undefined) // [未定義]
配列.of(1) // [1]
配列.of(1, 2) // [1, 2]

flat() メソッド: 配列の平坦化メソッドは、配列の平坦化、配列の平坦化、配列の次元削減とも呼ばれます。ネストされた配列を 1 次元配列に変換し、新しい配列を返すために使用されます。

例:

const myArr = [1, [2, 3, [4, 5, [12, 3, "zs"], 7, [8, 9, [10, 11, [1, 2, [3, 4]]]]]]]
console.log(myArr.flat(Infinity)) // [1, 2, 3, 4, 5, 12, 3, "zs", 7, 8, 9, 10, 11, 1, 2, 3, 4]

要約する

JS初心者向けの配列処理に関する記事はこれで終わりです。より関連性の高いJS配列処理コンテンツについては、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • JS配列処理関数の配置
  • JavaScript で NodeList を配列として処理する方法
  • Ajax が返した配列を js が処理する方法の紹介
  • 複数の文字列連結の問題を処理するために JavaScript 配列を使用する
  • JavaScript で配列を処理するために、reverse() メソッドを使用する方法
  • toSource() メソッドを使用して Javascript で配列を処理する方法
  • JavaScript オブジェクト配列のソート方法
  • 配列内の繰り返し要素を処理するための js サンプル コード

<<:  MySQLキーワードDistinctの詳細な紹介

>>:  Nginx+SSL による双方向認証を実装するためのサンプル コード

推薦する

Reactでwindow.print()を使用した際にページが応答しなくなる問題の解決記録について

目次1. 問題の背景: 2. 問題の原因: 3. 問題解決:要約: 1. 問題の背景: window...

Centos8 は kdc 暗号化に基づいて nfs を構築します

目次構成nfs サーバー (nfs.skills.com) nfs クライアント (client.s...

知っておくべき 25 の Vue のヒント

目次1. プロパティを型リストに制限する2. デフォルトのコンテンツと拡張ポイント3. ネストされた...

JDBC を使用して MySQL を操作するための簡単な分析では、Class.forName("com.mysql.jdbc.Driver") を追加する必要があります。

導入データベースに接続するためにJDBCを使用することに慣れている場合は、データベースに接続するため...

Nginx ログ出力のリクエスト後パラメータを設定する方法

【序文】当プロジェクトの SMS 機能は、第三者に接続することです。第三者からの元の受信確認要求は ...

mysql explain(分析インデックス)の使い方の詳しい説明

EXPLAIN は、MySQL がインデックスを使用して選択ステートメントを処理し、テーブルを結合す...

MySQL データベースの一般的な基本操作の分析 [データベースの作成、表示、変更、削除]

この記事では、例を使用して、MySQL データベースの一般的な基本操作について説明します。ご参考まで...

MySQLデータベースに他のIPアドレスからアクセスできない問題の解決策

序文先ほどのプロジェクトを参考にすると、環境は整いました。プロジェクトの準備と検証の段階で、問題が発...

HTMLとCSSを使用して、自分だけの暖かい男「Dabai」を作成します

最終結果はこんな感じです、かわいいでしょう… PS: HTML と CSS の知識があればベストです...

OpenShift のクイックインストールの詳細な手順

OpenShift 3.9 の最新バージョンを体験する最も早い方法。準備 [root@host ~]...

MySQL の最適化: InnoDB の最適化

勉強の計画は簡単に中断され、継続するのが困難です。先日、社内で事業の方向性を調整するための会議があり...

Vueは指定された日付間のカウントダウンを実装します

この記事では、指定された日付間のカウントダウンを実装するためのVueの具体的なコードを例として紹介し...

スケーラブルな列の完全な例を実現するための Ant 設計 Vue テーブル

ant-design-vue テーブルのスケーラブルな列の問題に対する完璧なソリューション。固定列と...

エレメントアバターアップロード練習

この記事は、Element公式サイトとQiniu Cloud公式サイトを使用しています。 eleme...

SpringbootはDockerデプロイメントを統合し、Dockerイメージを構築する2つの方法を実装します。

Docker は、あらゆるアプリケーション用の軽量でポータブルな自己完結型コンテナーを簡単に作成で...