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 を設定し、リモート接続を有効にする方法

推薦する

Linux trコマンドの使い方

01. コマンドの概要tr コマンドは、標準入力からの文字を置換、圧縮、削除できます。ある文字セット...

セマンティック XHTML タグの紹介

まず最初に指摘しておきたいのは、人間は視覚的な区分を通じてコン​​テンツの意味を判断できるが、検索エ...

MySQL マスタースレーブレプリケーション 読み書き分離の設定方法の詳細説明

1. 説明前回は、MySQL のインストールと構成、MySQL ステートメントの使用、MySQL デ...

CSSスコープ(スタイル分割)の使用の概要

1. CSSスコープの使用(スタイル分割) Vue では、CSS スタイルを現在のコンポーネントでの...

PostgreSQL マテリアライズドビュープロセス分析

この記事は主にPostgreSQLマテリアライズドビューのプロセス分析について紹介します。サンプルコ...

Docker を使用して Django プロジェクトをデプロイする方法の例

また、Dockerを使用してDjangoプロジェクトをデプロイするのも非常に簡単です。とても良いです...

大規模な Vue.js プロジェクトの構築と維持のための 10 のベスト プラクティス

目次1. スロットを使用してコンポーネントを理解しやすくし、より強力にする2. Vuexストアを正し...

ドラッグ効果を実現するための純粋なCSSコード

目次1. ドラッグ効果の例2. CSS実装の原則3. CSS実装の詳細4. CSSレイアウト1. 固...

8 JSのreduce使用例とreduce操作方法

reduceメソッドは配列の反復メソッドです。 mapやfilterとは異なり、 reduceメソッ...

Nginx レイヤー 4 負荷分散構成ガイド

1. レイヤー4負荷分散の概要レイヤー 4 ロード バランシングとは何ですか?いわゆる 4 層負荷分...

MySQL の最適化: サブクエリの代わりに結合を使用する

サブクエリの代わりにJOINを使用するMySQL はバージョン 4.1 以降で SQL サブクエリを...

Win Server 2019 サーバーの IIS 構成と Web サイトの簡単な公開

1.まずサーバーにリモート接続する2. サーバーマネージャーを開く 3役割と機能の追加 4サーバープ...

MYSQL ロック解除とロックテーブルの紹介

MySQL ロックの概要他のデータベースと比較すると、MySQL のロック メカニズムは比較的単純で...

CSSの絶対と相対について

冒頭にこう書かれています:アブソリュートは言った。「親戚よ、私はあなたを私の人生で見たくない!」なぜ...

VUE uni-app でよく使用される API についての簡単な説明

目次1. ルーティングとページジャンプ2. インターフェース要約する1. ルーティングとページジャン...