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

推薦する

HTML 描画ユーザー登録ページ

この記事では、HTML描画ユーザー登録ページの具体的な実装コードを参考までに共有します。具体的な内容...

Vue で pdfjs を使用して PDF ファイルをプレビューする方法

目次序文考えるライブラリディレクトリの解析とダウンロード使い方ファイルの場所実際の通話質問要約する序...

VMware仮想マシンにdeepin20をインストールする最も完全で詳細なプロセス

仮想マシンソフトウェア: VMware Workstationイメージ: deepin-deskto...

MySQL の NULL と空の文字列

最近、MySQL に触れました。昨日、テーブル構造情報を格納するための新しいテーブルを作成しました。...

MySQL 5.7 でルートパスワードを変更する方法

MySQL 5.7 以降では、多くのセキュリティ更新が追加されました。旧バージョンのユーザーは慣れて...

CSS Houdini でダイナミックな波効果を実現

CSS Houdini は、CSS 分野における最もエキサイティングなイノベーションとして知られてい...

現在のブラウザが JavaScript でヘッドレス ブラウザであるかどうかを検出する方法

目次ヘッドレスブラウザとは何ですか?なぜ「ヘッドレス」ブラウザと呼ばれるのでしょうか?ヘッドレスブラ...

マークアップ言語 - フレーズ要素

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

サーバーのDockerコンテナへのvscodeリモート接続を設定する方法

目次画像をプルするイメージを実行する(コンテナを生成する)コンテナを起動するコンテナに入るすべてのミ...

CSSカスタムプロパティの予備的な理解

現在、CSS プリプロセッサは Web 開発の標準となっています。 プリプロセッサの主な利点の 1 ...

MySQL 5.7.21 履歴データディレクトリからデータを復元するチュートリアルの解凍バージョン

状況の説明: データベースが異常に起動およびシャットダウンしたため、サービスを再度起動したときに「起...

MySQL での and or クエリの優先度分析

これは見落とされがちな問題かもしれません。まず、次の点を明確にする必要があります。 MySQL では...

Linux でプロセスを効果的に管理するための 8 つのコマンド

序文プロセス管理の役割:サーバーの健全性状態を判定する: プロセスの状態 (メモリ、CPU 占有率な...

MySQL MGR の利点は何ですか?

MGR (MySQL グループ レプリケーション) は、バージョン 5.7 で追加された新しい機能...

MySQL ログイン エラーを解決する: 'ユーザー 'root'@'localhost' へのアクセスが拒否されました

まず、コマンドラインまたはワークベンチを使用して MySQL にログインできず、「ユーザー '...