JS を使用して要素が配列であるかどうかを判断する例

JS を使用して要素が配列であるかどうかを判断する例

検証できるデータの種類は次のとおりです

a = [1,2,3,4,5,6]とします。
 b = [とします
 {名前: '張飛'、タイプ: 'タンク'}、
 {名前: '関羽'、タイプ: '兵士'}、
 {名前: '劉備'、タイプ: 'シューター'}、
 ];
 c = 123 とします。
 d = 'www' とします。
 e = {name: 'Angela', type: 'mage'} とします。

1. Array.isArray() を通じて

Array.isArray() は要素が配列かどうかを判定し、配列の場合は true を返し、配列でない場合は false を返します。

console.log(Array.isArray(a)); // 真
 console.log(Array.isArray(b)); // 真
 console.log(Array.isArray(c)); // 偽
 console.log(Array.isArray(d)); // 偽
 console.log(Array.isArray(e)); // 偽

2. インスタンスで判断する

instanceof 演算子は、インスタンスがオブジェクトのプロトタイプ チェーンに属しているかどうかを検出するために使用されます。

console.log(配列のインスタンス); // true
 console.log(b 配列のインスタンス); // true
 console.log(c 配列のインスタンス); // false
 console.log(d 配列インスタンス); // false
 console.log(e 配列インスタンス); // false

物体を判断するためにも使える

console.log(e instanceof Object); // true

配列かどうかを判断するには、変数配列 (a, b) のプロトタイプ チェーンに Arrray.prototype プロパティが存在するかどうかを確認する必要があります。明らかに、a と b は配列であり、Arrray.prototype プロパティを持っているので、これは true です。

3. オブジェクトコンストラクタのコンストラクタで判断する

Object の各インスタンスには、各オブジェクトを作成する関数を格納するコンストラクターがあります。

console.log(a.constructor === 配列); // true
console.log(b.constructor === 配列); // true

以下はその他のデータ型の検証です

console.log(c.constructor === Number); // true
console.log(d.constructor === String); // 真
console.log(e.constructor === Object); // true

4. Object.prototype.toString.call() で判断する

プロトタイプチェーンを通じて呼び出しを検索する

console.log(Object.prototype.toString.call(a) === '[オブジェクト配列]'); // true
console.log(Object.prototype.toString.call(b) === '[オブジェクト配列]'); // true

以下はその他のデータ型の検証です

console.log(Object.prototype.toString.call(c) === '[オブジェクト番号]'); // true
console.log(Object.prototype.toString.call(d) === '[object String]'); // true
console.log(Object.prototype.toString.call(e) === '[object Object]'); // true

5. オブジェクトプロトタイプチェーンのisPrototypeOf()で判断する

Array.prototype プロパティは、Array コンストラクターのプロトタイプであり、オブジェクトが別のオブジェクトのプロトタイプ チェーン内に存在するかどうかをテストするために使用される isPrototypeOf() メソッドが含まれています。

console.log(Array.prototype.isPrototypeOf(a)); // 真
 console.log(Array.prototype.isPrototypeOf(b)); // 真
 console.log(Array.prototype.isPrototypeOf(c)); // 偽
 console.log(Array.prototype.isPrototypeOf(d)); // 偽
 console.log(Array.prototype.isPrototypeOf(e)); // 偽

要約する

JS を使用して要素が配列であるかどうかを判断する方法については、これで終わりです。要素が配列コンテンツであるかどうかの JS 判断の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • JavaScript で配列に指定された要素が含まれているかどうかを判断する方法
  • 要素が配列内にあるかどうかを判断するための JS 実装コード
  • 配列内に重複要素があるかどうかを判定するJSの方法の概要
  • 配列に特定の要素がすでに含まれているかを判断するJavaScript関数
  • 配列に特定の要素が含まれているかどうかを判定するJS実装例
  • 配列に要素が含まれているかどうかを判断するための js 関数実装メソッド
  • 配列に要素が含まれているかどうかを判断するためのjs拡張メソッドを記述する
  • JavaScript で配列内の要素が繰り返されているかどうかを判断するためのメソッドのコレクション
  • 配列に特定の要素が含まれているかどうかを判断するには js を使用します (PHP の in_array() と同様)
  • 配列に要素が含まれているかどうかを判断するための JS メソッドの概要

<<:  JSで実現したページサイドバーの効果に関する研究

>>:  さまざまな種類の jQuery Web ページ検証コード プラグイン コード例

推薦する

FileZilla_Server:425 データ接続を開けない問題を解決する方法

FileZilla Serverをサーバーにインストールすると、425データ接続を開けない問題が発生...

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

はじめに: Windows 10 を再インストールし、同時にファイルを整理しました。しかし、MySQ...

docker-compsoe を使用してフロントエンドとバックエンドを分離したプロジェクトをデプロイする方法

事前に言っておくDocker を使用すると非常にシンプルなデプロイメント環境を実現できることは誰もが...

CMDコマンドを使用してMySqlデータベースを操作する方法の詳細な説明

まず、mysqlサービスを開始および停止します ネットストップmysql ネットスタートMySQL ...

Tomcat でサーブレット URL パターンを構成する際の問題の詳細な説明

tomcat の web.xml を構成する場合、サーブレットは比較的重要な問題です。ここでは、サー...

React ページ ターナーの実装 (フロント エンドとバックエンドを含む)

目次フロントエンド上記のアイデアに従って、ページめくり機能を設計して記述します。バックエンド(Jav...

CSS 共通スタイルで二重矢印を描画するサンプルコード

1. 単一の矢印への複数の呼び出し単一の矢印を実装したら、二重矢印を実装するのは簡単です。上では、単...

ウェブページのテキストデザインは、服を着た賢い女の子のようであるべきだ

<br />「この世に醜い女性はいない、あるのは怠惰な女性だけだ」これは女性の美のバイブ...

LinuxベースのLVMシームレスディスク水平拡張の詳細な説明

環境名前財産CPU 5650 円メモリ4Gディスク20G+4TB この時点で、サーバーにはすでに次の...

Nginx の起動に失敗した場合のいくつかのエラー処理の詳細な説明

Nginx を Web サーバーとして使用する際に、次の問題が発生しました。 1. nginxの起動...

純粋なHTML+CSSでタイピング効果を実現

この記事は主に、一定の参考値を持つ純粋な HTML + CSS によって実現されるタイピング効果を紹...

CSS3で実装されたグラデーションスライド効果

成果を達成する コードhtml <div class="css-slideshow&...

Dockerイメージストレージoverlayfsの使用

1. 概要Docker のイメージはレイヤーで設計されています。各レイヤーは「レイヤー」と呼ばれます...

Linux CentOS でスケジュールされたバックアップ タスクを設定する方法

実装準備 # ファイルパスをバックアップする必要があります: /opt/apollo/logs/ac...