Wie beurteilt man ein Array? Einige Freunde sollten es wissen, aber andere können nicht sagen, wie js Arrays beurteilt. Der unten stehende Herausgeber hat einige Informationen zu diesem Thema für Sie zusammengestellt und zusammengestellt. Interessierte Freunde können einen Blick darauf werfen. Ich hoffe, Sie beherrschen das Wissen über JS, um Arrays zu beurteilen.
typeof-Operator
typeof gibt eine Zeichenfolge dieses Typs zurück
var a = '123' console.log(typeof(a)) //string var b = [] console.log(typeof(b)) //object var c = {} console.log(typeof(c)) //object var d = null console.log(typeof(d)) //object
Wie oben gesehen, wird das Array-Objekt null von typeof zurückgegeben und es ist alles Objekt This Methode kann nicht erkannt werden. Ob es sich um ein Array handelt
Prototyp-Konstruktorkettenmethode
Instanziierung hat ein Konstruktorattribut. Dieses Attribut zeigt auf die Methode, die das Objektarray generiert
var a = [] console.log(a.__proto__.constructor) //ƒ Array() { [native code] } var b = {} console.log(b.__proto__.constructor) //ƒ Object() { [native code] }
Wie oben zu sehen ist, wird das Array von der Array-Funktion verwendet. Das instanziierte Objekt wird von der Object-Funktion instanziiert.
Ich denke, dass diese Methode in Ordnung ist, aber das Konstruktorattribut kann überschrieben werden
var a = [] a.__proto__.constructor = Object console.log(a.__proto__.constructor) //ƒ Object() { [native code] }
Sie können sehen, dass dies ein Array geworden ist. Es wird davon ausgegangen, dass es ein Objekt geworden ist, daher ist diese Methode nicht die beste
instanceof
Diese Methode dient dazu, festzustellen, ob Das Objekt, auf das das Prototypattribut eines bestimmten Konstruktors zeigt, befindet sich in der Prototypenkette eines anderen zu erkennenden Objekts.
var a = [] console.log(a instanceof Array) //a对象的原型链上能找到Array true console.log(a instanceof Object) //true 原型链上也能找到对象
Das Obige ist nicht besonders einfach zu bestimmen, ob es sich um ein Array oder ein Objekt handelt
Die allgemeine Methode toString
die Methode toString() gibt den Charakter dieses Objektstrings zurück
var a= '123' console.log(a.toString()) //123 var b = [1,2,3] console.log(b.toSting()) //1,2,3 var c = {} console.log(c.toString)) //[object Object]
Sie können sehen, dass nur Objekte Objekttypen zurückgeben
Zurückgeben Der Typ [Objekttyp] stellt den Typ des Objekts dar.
Beurteilen Sie das Objekt und verwenden Sie die toString-Methode von Object, um es abzurufen. Sie können die toString-Methode von
var a =[] Object.prototype.toString.call(a) //[object Array]
verwenden, um festzustellen, ob dies der Fall ist ein Array
Bitte beachten Sie jedoch, dass toString() am Objektprototyp auch geändert werden kann
Array.isArray(XX)
Ich persönlich bin der Meinung, dass die allgemeine Methode toString() zuverlässiger ist
Verwandte Empfehlungen:
js ermittelt, ob das Array eine String-Variable enthält
Gemeinsame Methoden für PHP, um festzustellen, ob ein Array leer ist (fünf Methoden)
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in das JS-Beurteilungsarray. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!