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 ページ検証コード プラグイン コード例

推薦する

MySQL で distinct メソッドを使用する詳細な例

明確な意味: distinctive は、一意のレコードの数を照会するために使用されます。つまり、d...

Centos8 の Django プロジェクトに nginx+uwsgi をデプロイするチュートリアル

1. 仮想環境virtualenvのインストール1. virtualenvをインストールするpip3...

ページングクリックコントロールを実装するネイティブJS

これは、ネイティブJSを使用してページングクリックコントロールを実装する必要がある面接の質問です。参...

ネイティブ JavaScript でオブジェクトが空かどうかをチェックする実装例

目次ネイティブJavaScriptとはA. 新しいブラウザでnullオブジェクトをチェックするコンス...

nginx は画像表示の遅さとダウンロードの不完全さの問題を解決します

前面に書かれた最近、ある読者から、ブラウザからサーバーにアクセスすると、画像の表示が遅く、ブラウザに...

MySQL 8のパスワードを忘れた場合のベストな対処法の簡単な分析

序文MySQL に精通している読者は、MySQL が非常に迅速に更新されることに気付くかもしれません...

JavaScript と JQuery フレームワークの基本チュートリアル

目次1. JS オブジェクトDOM –1、機能–2、テスト3. jQuery –1. 概要–2、使用...

IE で ClearType をオンにした後の透明フォントの問題の解決方法

IE で ClearType をオンにした後に発生する透明フォントの問題を解決するには、透明要素に背...

Docker コンテナを他のサーバーに移行する 5 つの方法

多くの場合、移行は避けられません。ハードウェアのアップグレード、データ センターの変更、古いオペレー...

ffmpeg コマンドラインを使用してビデオを変換するためのサンプルコード

この記事の本文を始める前に、まず ffmpeg プログラムをインストールする必要があります (Lin...

IISとAPACHEはHTTPSへのHTTPリダイレクトを実装しています

7 のMicrosoft の公式 Web サイトから HTTP Rewrite モジュールをダウンロ...

mysql-5.7.21-winx64 無料インストール版のインストール - Windows チュートリアル詳細説明

1 ダウンロードアドレスは https://dev.mysql.com/downloads/mysq...

Node.js での組み込みモジュールとカスタムモジュールの実装

1. コモンズCommonjsはNode.jsのカスタムモジュールですCommonjs 仕様は、Ja...

Logrotate は 2 時間ごとに Catalina.out ログローテーションを実装します

1. Logrotateツールの紹介Logrotate はログファイル管理ツールです。Linux に...

CSS3で線形グラデーションを実装するためのコードの詳細な説明

序文デモでは古いバージョンのブラウザのグラデーションが実装されています[IE9-]。 IE9 より前...