Inhaltsverzeichnis
二、constructor判断" >二、constructor判断
三、instanceof 判断" >三、instanceof 判断
四、原型链上的isPrototypeOf判断" >四、原型链上的isPrototypeOf判断
五、Object.prototype.toString" >五、Object.prototype.toString
六、Array 原型链上的 isPrototypeOf" >六、Array 原型链上的 isPrototypeOf
Heim Web-Frontend js-Tutorial 6 Möglichkeiten, um festzustellen, ob es sich in JS um ein Array handelt

6 Möglichkeiten, um festzustellen, ob es sich in JS um ein Array handelt

Jan 11, 2021 pm 06:29 PM
javascript 数组

6 Möglichkeiten, um festzustellen, ob es sich in JS um ein Array handelt

Verwandte Empfehlungen: „Javascript-Video-Tutorial

1. Array.isArray-Beurteilung

Verwendung: Array.isArray(arr)Array.isArray(arr)

ES5中新增了Array.isArray方法,IE8及以下不支持

Array.isArray() 用于确定传递的值是否是一个[Array], 返回布尔值 true;否则它返回 false。

let arr = [];
console.log(Array.isArray(arr)); // true
Nach dem Login kopieren
// 下面的函数调用都返回 true
Array.isArray([]);
Array.isArray([1]);
Array.isArray(new Array());
Array.isArray(new Array('a', 'b', 'c', 'd'))
// 鲜为人知的事实:其实 Array.prototype 也是一个数组。
Array.isArray(Array.prototype);
Nach dem Login kopieren

二、constructor判断

用法:arr.constructor === Array

Object的每个实例都有构造函数 constructor,用于保存着用于创建当前对象的函数

let arr = [];
console.log(arr.constructor === Array); // true
Nach dem Login kopieren

三、instanceof 判断

用法:arr instanceof Array

instanceof 主要是用来判断某个实例是否属于某个对象

let arr = [];
console.log(arr instanceof Array); // true
Nach dem Login kopieren

注:instanceof操作符的问题在于,它假定只有一个全局环境。如果网页中包含多个框架,那实际上就存在两个以上不同的全局执行环境,从而存在两个以上不同版本的Array构造函数。如果你从一个框架向另一个框架传入一个数组,那么传入的数组与在第二个框架中原生创建的数组分别具有各自不同的构造函数。(红宝书88页上的原话)

四、原型链上的isPrototypeOf判断

用法:Array.prototype.isPrototypeOf(arr)

Array.prototype 属性表示 Array 构造函数的原型

isPrototypeOf()可以用于测试一个对象是否存在于另一个对象的原型链上。

let arr = [];
console.log(Array.prototype.isPrototypeOf(arr)); // true
Nach dem Login kopieren
Nach dem Login kopieren

五、Object.prototype.toString

用法:Object.prototype.toString.call(arr) === '[object Array]'

Array继承自Object,JavaScript在Array.prototype上重写了toString,toString.call(arr)实际上是通过原型链调用了。

let arr = [];
console.log(Object.prototype.toString.call(arr) === '[object Array]'); // true
Nach dem Login kopieren

六、Array 原型链上的 isPrototypeOf

用法:Array.prototype.isPrototypeOf(arr)

Array.prototype

Neu in ES5 Array.isArray-Methode hinzugefügt, die von IE8 und niedriger nicht unterstützt wird

Array.isArray() wird verwendet, um zu bestimmen, ob der übergebene Wert ein [Array] ist, und gibt ihn zurück ein boolescher Wert true; andernfalls wird false zurückgegeben.
let arr = [];
console.log(Array.prototype.isPrototypeOf(arr)); // true
Nach dem Login kopieren
Nach dem Login kopieren
// 基本类型
typeof 123;  //number
typeof "abc"; //string
typeof true; //boolean
typeof undefined; //undefined
typeof null; //object
var s = Symbol;
typeof s; //symbol

// 引用类型
typeof [1,2,3]; //object
typeof {}; //object
typeof function(){}; //function
typeof  Array; //function  Array类型的构造函数
typeof Object; //function  Object类型的构造函数
typeof Symbol; //function  Symbol类型的构造函数
typeof Number; //function  Number类型的构造函数
typeof String; //function  String类型的构造函数
typeof Boolean; //function  Boolean类型的构造函数
Nach dem Login kopieren
2. Konstruktorbeurteilung

Verwendung:

arr.constructor === Array🎜🎜Jede Instanz von Object hat einen Konstruktor constructor , der verwendet wird um die Funktion zu speichern, die zum Erstellen des aktuellen Objekts verwendet wurde Bestimmen Sie, ob eine Instanz zu einem Objekt gehört🎜rrreee🎜Hinweis: Das Problem mit dem Instanzenoperator besteht darin, dass er davon ausgeht, dass es nur eine globale Umgebung gibt. Wenn die Webseite mehrere Frames enthält, gibt es tatsächlich mehr als zwei verschiedene globale Ausführungsumgebungen und damit mehr als zwei verschiedene Versionen des Array-Konstruktors. Wenn Sie ein Array von einem Frame an einen anderen übergeben, hat das übergebene Array einen anderen Konstruktor als das Array, das nativ im zweiten Frame erstellt wurde. (Originalwörter auf Seite 88 des Little Red Book) 🎜🎜🎜🎜 4. isPrototypeOf-Beurteilung der Prototypenkette 🎜🎜🎜🎜🎜Verwendung: 🎜Array.prototype.isPrototypeOf(arr)🎜🎜Array.prototype Das Attribut stellt den Prototyp des Array-Konstruktors dar. 🎜🎜isPrototypeOf() kann verwendet werden, um zu testen, ob ein Objekt in der Prototypenkette eines anderen Objekts vorhanden ist. 5. Object.prototype.toString🎜🎜🎜🎜🎜Verwendung: 🎜Object.prototype.toString.call(arr) === '[object Array]'🎜🎜Array-Vererbung Da Object überschreibt JavaScript toString auf Array.prototype und toString.call(arr) wird tatsächlich über die Prototypenkette aufgerufen. 🎜rrreee🎜🎜🎜6. isPrototypeOf🎜🎜🎜🎜🎜 Verwendung in der Array-Prototypkette: 🎜Array.prototype.isPrototypeOf(arr)🎜🎜Array.prototype Eigenschaftsdarstellung Der Prototyp des Array-Konstruktors🎜rrreee🎜🎜🎜Sehen Sie sich übrigens die Verwendung von typeof an:🎜🎜🎜🎜Für Referenztypen kann typeof nicht zur Beurteilung verwendet werden, da alle zurückgegebenen Objekte Objekte sind🎜rrreee🎜Weitere programmierbezogene Kenntnisse , besuchen Sie bitte:🎜 Programmieren lernen🎜! ! 🎜

Das obige ist der detaillierte Inhalt von6 Möglichkeiten, um festzustellen, ob es sich in JS um ein Array handelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie entferne ich doppelte Elemente mithilfe einer foreach-Schleife aus einem PHP-Array? Wie entferne ich doppelte Elemente mithilfe einer foreach-Schleife aus einem PHP-Array? Apr 27, 2024 am 11:33 AM

Die Methode zur Verwendung einer foreach-Schleife zum Entfernen doppelter Elemente aus einem PHP-Array ist wie folgt: Durchlaufen Sie das Array und löschen Sie es, wenn das Element bereits vorhanden ist und die aktuelle Position nicht das erste Vorkommen ist. Wenn beispielsweise in den Datenbankabfrageergebnissen doppelte Datensätze vorhanden sind, können Sie diese Methode verwenden, um diese zu entfernen und Ergebnisse ohne doppelte Datensätze zu erhalten.

Die Kunst des PHP Array Deep Copy: Mit verschiedenen Methoden eine perfekte Kopie erzielen Die Kunst des PHP Array Deep Copy: Mit verschiedenen Methoden eine perfekte Kopie erzielen May 01, 2024 pm 12:30 PM

Zu den Methoden zum tiefen Kopieren von Arrays in PHP gehören: JSON-Kodierung und -Dekodierung mit json_decode und json_encode. Verwenden Sie array_map und clone, um tiefe Kopien von Schlüsseln und Werten zu erstellen. Verwenden Sie Serialize und Deserialize für die Serialisierung und Deserialisierung.

PHP-Array-Schlüsselwertumdrehen: Vergleichende Leistungsanalyse verschiedener Methoden PHP-Array-Schlüsselwertumdrehen: Vergleichende Leistungsanalyse verschiedener Methoden May 03, 2024 pm 09:03 PM

Der Leistungsvergleich der PHP-Methoden zum Umdrehen von Array-Schlüsselwerten zeigt, dass die Funktion array_flip() in großen Arrays (mehr als 1 Million Elemente) eine bessere Leistung als die for-Schleife erbringt und weniger Zeit benötigt. Die for-Schleifenmethode zum manuellen Umdrehen von Schlüsselwerten dauert relativ lange.

Best Practices für Deep Copying von PHP-Arrays: Entdecken Sie effiziente Methoden Best Practices für Deep Copying von PHP-Arrays: Entdecken Sie effiziente Methoden Apr 30, 2024 pm 03:42 PM

Die beste Vorgehensweise zum Durchführen einer Array-Deep-Kopie in PHP besteht darin, json_decode(json_encode($arr)) zu verwenden, um das Array in einen JSON-String zu konvertieren und ihn dann wieder in ein Array umzuwandeln. Verwenden Sie unserialize(serialize($arr)), um das Array in eine Zeichenfolge zu serialisieren und es dann in ein neues Array zu deserialisieren. Verwenden Sie den RecursiveIteratorIterator, um mehrdimensionale Arrays rekursiv zu durchlaufen.

Anwendung der PHP-Array-Gruppierungsfunktion bei der Datensortierung Anwendung der PHP-Array-Gruppierungsfunktion bei der Datensortierung May 04, 2024 pm 01:03 PM

Die PHP-Funktion array_group_by kann Elemente in einem Array basierend auf Schlüsseln oder Abschlussfunktionen gruppieren und ein assoziatives Array zurückgeben, wobei der Schlüssel der Gruppenname und der Wert ein Array von Elementen ist, die zur Gruppe gehören.

Praxis der mehrdimensionalen Sortierung von PHP-Arrays: von einfachen bis hin zu komplexen Szenarien Praxis der mehrdimensionalen Sortierung von PHP-Arrays: von einfachen bis hin zu komplexen Szenarien Apr 29, 2024 pm 09:12 PM

Die mehrdimensionale Array-Sortierung kann in Einzelspaltensortierung und verschachtelte Sortierung unterteilt werden. Bei der Einzelspaltensortierung kann die Funktion array_multisort() zum Sortieren nach Spalten verwendet werden. Bei der verschachtelten Sortierung ist eine rekursive Funktion erforderlich, um das Array zu durchlaufen und zu sortieren. Zu den praktischen Beispielen gehören die Sortierung nach Produktname und die Sortierung von Verbindungen nach Verkaufsmenge und Preis.

Die Rolle der PHP-Array-Gruppierungsfunktion beim Auffinden doppelter Elemente Die Rolle der PHP-Array-Gruppierungsfunktion beim Auffinden doppelter Elemente May 05, 2024 am 09:21 AM

Mit der Funktion array_group() von PHP kann ein Array nach einem angegebenen Schlüssel gruppiert werden, um doppelte Elemente zu finden. Diese Funktion durchläuft die folgenden Schritte: Verwenden Sie key_callback, um den Gruppierungsschlüssel anzugeben. Verwenden Sie optional value_callback, um Gruppierungswerte zu bestimmen. Zählen Sie gruppierte Elemente und identifizieren Sie Duplikate. Daher ist die Funktion array_group() sehr nützlich, um doppelte Elemente zu finden und zu verarbeiten.

PHP-Array-Zusammenführungs- und Deduplizierungsalgorithmus: parallele Lösung PHP-Array-Zusammenführungs- und Deduplizierungsalgorithmus: parallele Lösung Apr 18, 2024 pm 02:30 PM

Der PHP-Algorithmus zum Zusammenführen und Deduplizieren von Arrays bietet eine parallele Lösung, indem er das ursprüngliche Array zur parallelen Verarbeitung in kleine Blöcke aufteilt und der Hauptprozess die Ergebnisse der zu deduplizierenden Blöcke zusammenführt. Algorithmusschritte: Teilen Sie das ursprüngliche Array in gleichmäßig verteilte kleine Blöcke auf. Verarbeiten Sie jeden Block zur Deduplizierung parallel. Blockergebnisse zusammenführen und erneut deduplizieren.

See all articles