js配列の基本的な使い方のまとめ

js配列の基本的な使い方のまとめ

序文

配列は特別な種類のオブジェクトです。 js には実際の配列はなく、オブジェクトを使用して配列をシミュレートするだけです。

オブジェクトのプロパティを表示する同じ方法が配列にも適用されます。配列の添え字の型は数値ではなく文字列であることに注意してください。

一般的な配列とjs配列の違い

C/C++ に似た一般的な配列機能は次のとおりです。

  • 要素のデータ型は同じです
  • 連続したメモリストレージを使用する
  • 数値の添え字で要素を取得する

js配列

  • 要素のデータ型は異なる場合があります
  • メモリは必ずしも連続しているわけではない(オブジェクトはランダムに格納される)
  • 数値の添え字ではなく、文字列の添え字でアクセスできます。 (つまり、配列には任意のキーを設定できます)

上の図は最後のポイントを示しています。配列は任意のキーを持つことができます。配列の添え字が文字列であることを証明するには、 Object.keys(arr)を使用します。

配列の作成

配列を作成するには 2 つの方法があります。

 arr = [1,2,3]とする
 arr = 新しい配列(1,2,3)

文字列を配列に変換する split() Array.from()

文字列を文字列配列に変換する方法は 2 つあります。

擬似配列

配列の共通属性を持たない配列は擬似配列です(擬似配列のプロトタイプチェーンには配列のプロトタイプはありません)

疑似配列にはpush、popなどのメソッドはありません( console.dir(divList)で確認できます)。Array.from Array.from()を使用して変換できます。

変換後、正常にプッシュできます。

2つの配列を結合する

  • 連結()

このメソッドは元の配列を変更しません。

 arr1 = [1,2,3]とする
 arr2 = [4,5,6]とする
 arr1.concat(arr2) // [1,2,3,4,5,6]
 ar1//[1,2,3]
 ar2//[4,5,6]

配列のインターセプト

  • スライス()

このメソッドは元の配列を変更しません。

arr = [1,2,3,4,5,6]とする
arr.slice(3) //[4,5,6]
ar//[1,2,3,4,5,6]

配列要素の削除

先頭要素を削除する: arr.shift() arrが変更され、削除された要素が返されます

 arr = [1,2,3,4,5,6]とする
 arr.shift() // 1
 ar//[2, 3, 4, 5, 6]

末尾の要素を削除する: arr.pop() arrが変更され、削除された要素が返されます。

 arr = [1,2,3,4,5,6]とする
 arr.shift() // 6
 ar//[1, 2, 3, 4, 5]

真ん中を削除します:

arr.splice(index,1) //インデックスの最初の要素を削除し、削除された要素を返しますarr.splice(index,1,'x') //削除された位置に 'x' を追加し、削除された要素を返しますarr.splice(index,1,'x','y') //削除された位置に 'x' と 'y' を追加し、削除された要素を返します。

 arr = [1,2,3,4,5,6,7,8,9]とします。
 //要素4を削除
 arr.splice(3,1)//4
 ar//[1, 2, 3, 5, 6, 7, 8, 9]
 
 arr = [1, 2, 3, 5, 6, 7, 8, 9]とします。
 // 添え字 3 を削除し、3.5 と 4 を追加します
 arr.splice(2,1,3.5,4) // 3
 ar//[1, 2, 3.5, 4, 6, 7, 8, 9]

配列要素を表示する

プロパティを表示

  • オブジェクト.keys(arr)
  • オブジェクト.values(arr)
arr = [1,2,3,4,5]とする
引数x='xxx'
Object.keys(arr) //["0", "1", "2", "3", "4", "x"]
Object.values(arr) // [1, 2, 3, 4, 5, "xxx"]

for inループ

数字のみを含む要素を表示する

for循環

forEach循環

要素が配列内にあるかどうかを確認する

arr.indexOf(item)配列インデックスが存在する場合はそれを返し、存在しない場合は -1 を返します。

arr = [1,2,3,4,5,6]とする
arr.indexOf(2) // 1
arr.indexOf(7) // 0

条件を使用して要素を検索する

//最初の偶数要素を見つける let arr=[1,2,3,4,5,6]
arr.find(item=>item%2===0)//2

//最初の偶数添字を見つける let arr=[1,2,3,4,5,6]
arr.findIndex(item=>item%2===0)//1

配列に要素を追加する

最後に追加: arr.push(item1,item2)

 arr = [3,4,5,6]とする
 arr.push(7,8,9) を呼び出します。
 ar//[3,4,5,6,7,8,9]

ヘッダーの追加: arr.unshift(item1,item2)

 arr = [3,4,5,6]とする
 arr.unshift(1,2,3) を移動します
 ar//[1, 2, 3, 3, 4, 5, 6]

真ん中に追加します: arr.splice(index,0,'x')

 arr = [1,2,3,4,5,6,7]とする
 // 添え字2の位置に3.33,3.44を加算する
 arr.splice(2,0,3.33,3.44) // [1, 2, 3.33, 3.44, 3, 4, 5, 6, 7]

要約する

js配列の基本的な使い方のまとめはこれで終わりです。より関連性の高いjs配列の使い方のコンテンツについては、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • よく使われるJavaScript配列メソッド
  • JavaScript 配列の詳細な概要
  • JavaScript クラス配列の詳細な理解
  • JavaScript 配列の簡略化テクニックのまとめ
  • JavaScript配列の簡単な紹介

<<:  MySQL 5.7.17 winx64 のインストールと設定方法のグラフィックチュートリアル

>>:  Ubuntu 16.04 サーバーで MySQL を設定し、リモート接続を有効にする方法

推薦する

MySQL 8.0.18 のさまざまなバージョンのインストールとインストール中に発生した問題 (要点の要約)

概要: MYSQLの問題解決記録:どのようなインストール方法 (rpm、gz、gz.xz) を使用す...

MySQL UNION演算子の基本知識ポイント

MySQL UNION 演算子このチュートリアルでは、MySQL UNION 演算子の構文と例を紹介...

Linuxの一般ユーザー向けスケジュールタスクの詳細な説明

序文通常のユーザーはcrontabスケジュールタスクを定義します。たとえば、Oracleユーザーはス...

MySQL 8.0.12 のインストールと使用方法のチュートリアル

MySQL 8.0.12のインストールと使用のチュートリアルを録画しました。ウィンドウズまず、公式ウ...

Vue プロジェクトで垂直テーブルを 2 つの方法で実装するアイデアの分析

問題の説明私たちのプロジェクトでは、水平方向のテーブルが一般的ですが、必要に応じて垂直方向のテーブル...

Dockerはbusyboxを使用してベースイメージを作成します

Docker イメージの最初の行は FROM alpine などのイメージで始まりますが、最初のベー...

Docker の Windows ストレージ パス設定操作

Windows 10 に Docker をインストールする場合、コンテナタイプを Linux コンテ...

CSS: 訪問した疑似クラスセレクタの秘密の記憶

昨日、a:visited を使用して「Guess You Like」の右側にある訪問済みテキストの色...

MySQL 8.0.11 のインストールと設定方法のグラフィックチュートリアル

MySQL 8.0のインストールと設定方法は参考までに。具体的な内容は以下のとおりです。ダウンロード...

VmWareでcentos7をインストールするときにインターネットにアクセスできない問題の解決策

Centos7 のインストール時に VmWare がインターネットにアクセスできない場合はどうすれば...

VUEプロジェクトでXSS攻撃に遭遇した実体験

目次序文原因を発見するカスタムフィルタリングルール要約する序文インターネットの急速な発展に伴い、情報...

MySQLで大きなテーブルをエレガントに削除する方法について簡単に説明します

目次1. 切り捨て操作1.1 MySQL truncate はどのような操作を実行しますか? 1.2...

Linuxの運用と保守、基本的なプロセス管理、リアルタイム監視と制御

目次1. バックグラウンドで実行されるジョブ2. 信号を使用してプロセスを制御する基本的なプロセス管...

MySQLのデッドロックとログに関する詳細な説明

最近、MySQL オンラインでいくつかのデータ異常が発生しましたが、すべて早朝に発生しました。ビジネ...

MySQL の InnoDB ストレージ ファイルの詳細な説明

物理的に言えば、InnoDB テーブルは、共有テーブルスペース ファイル (ibdata1)、排他テ...