Heim  >  Artikel  >  Web-Frontend  >  3 Dinge, die Sie über JavaScript-Arrays nicht wussten

3 Dinge, die Sie über JavaScript-Arrays nicht wussten

黄舟
黄舟Original
2017-02-23 13:27:46984Durchsuche

In Programmiersprachen ist Array (Array) eine sehr häufig verwendete Funktion; es handelt sich um eine spezielle Variable, die zum gleichzeitigen Speichern mehrerer Werte verwendet werden kann. Es gibt jedoch noch viel mehr über die Leistungsfähigkeit von Arrays in Bezug auf JavaScript zu entdecken.

In diesem Artikel besprechen wir drei nicht so häufige Funktionen von JavaScript-Arrays.

1. Fügen Sie dem Array benutzerdefinierte Attribute hinzu

Wenn Sie im Internet nach der Definition von JavaScript-Arrays suchen, werden Sie feststellen, dass fast jeder das Gleiche hat Definition von Arrays. Das Gleiche: ein Objekt.

Tatsächlich kann alles, was wir mit JavaScript verarbeiten, als Objekt betrachtet werden. In JavaScript gibt es zwei Datentypen: Basistypen und Objekttypen, aber Basistypen sind grundsätzlich in Objekttypen enthalten.

Arrays, Funktionen und Datum sind alle vordefinierte Objekte in JavaScript und sie alle enthalten Methoden, Eigenschaften und ihre jeweilige standardisierte Syntax.

JavaScript-Arrays haben die folgenden drei verschiedenen Eigenschaften:

1 Der Index des Arrays ist auch seine Eigenschaft

2 Integrierte Eigenschaften

3 Sie Sie können Ihre eigenen Attribute hinzufügen

Die ersten beiden Attribute sind jedem bekannt und Sie können sie jeden Tag verwenden, aber ich möchte hier noch kurz ein paar Worte sagen und dann darüber sprechen, wie man sie hinzufügt benutzerdefinierte Attribute zu einem Array.

Nehmen Sie den Index als Attribut

JavaScript-Arrays können eine Syntax in eckigen Klammern verwenden, z. B. var ary = ["orange", "apple", "lychee"];.

Der Index eines Array-Elements ist im Grunde ein Attribut, und der Name seines Attributs ist immer eine nicht negative Ganzzahl.

Das Indexelementpaar eines Arrays ähnelt dem Schlüsselwertpaar eines Objekts. Indizes sind eine einzigartige Eigenschaft von Array-Objekten. Im Gegensatz zu anderen integrierten Eigenschaften können sie individuell über eckige Klammern konfiguriert werden, zum Beispiel ary[3] = „peach“;.

Eingebaute Eigenschaften

Arrays verfügen über integrierte Eigenschaften, wie zum Beispiel array.length. Das Längenattribut enthält einen ganzzahligen Wert, der die Länge des Arrays darstellt.

Im Allgemeinen sind integrierte Eigenschaften häufig in vordefinierten JavaScript-Objekten wie Arrays zu finden. Integrierte Eigenschaften und integrierte Methoden werden kombiniert, um gewöhnliche Objekte an unterschiedliche Anforderungen anzupassen.

Beim Zugriff auf integrierte Eigenschaften können Sie zwei Syntaxen verwenden: object.key oder object["key"]. Mit anderen Worten: Wenn Sie die Länge eines Arrays ermitteln, können Sie ary["length"] schreiben.

Benutzerdefinierte Eigenschaften für Array-Objekte erstellen

Lassen Sie uns nun darüber sprechen, wie Sie benutzerdefinierte Eigenschaften zu Arrays hinzufügen. Ein Array ist ein vordefiniertes Objekt, das verschiedene Arten von Werten in unterschiedlichen Indizes speichert.

Normalerweise müssen wir aus diesem Grund keine benutzerdefinierten Attribute zu Arrays hinzufügen. Als wir zum ersten Mal JavaScript lernten, sagte uns niemand, dass wir Attribute zu Arrays hinzufügen könnten. Wenn Sie Schlüssel-Wert-Paare auf die gleiche Weise wie ein reguläres Objekt zu einem Array hinzufügen möchten, können Sie zu diesem Zweck auch ein reguläres Objekt verwenden. Dies bedeutet jedoch nicht, dass es überhaupt keine Sonderfälle gibt. In einigen Fällen können Sie die Tatsache ausnutzen, dass es sich bei einem Array um ein Objekt handelt, und ihm eine oder mehrere benutzerdefinierte Eigenschaften hinzufügen.

Sie können beispielsweise einem Array ein benutzerdefiniertes Attribut hinzufügen, das die „Art“ oder „Klasse“ des Elements identifiziert. Einzelheiten finden Sie im folgenden Beispiel:

 var ary = ["orange","apple","lychee"];

ary.itemClass = "fruits";

console.log(ary + " are " + ary.itemClass);

Bitte beachten Sie, dass die benutzerdefinierten Attribute, die Sie dem Array hinzufügen, alle zählbar sind, d. h., sie können durch Schleifen wie for...in ausgewählt werden .

2. Durchlaufen von Array-Elementen

Sie könnten sagen: „Das weiß ich schon seit langem.“ Aber vielleicht haben Sie das Gefühl, dass die Aussage „Array-Elemente durchlaufen“ etwas abstrakt ist, denn was wir wirklich durchlaufen, ist der Index des Arrays.

Da Array-Indizes aus nicht negativen Ganzzahlen bestehen, beginnen wir normalerweise bei 0 bis zur vollen Länge des Arrays, iterieren den Ganzzahlwert und verwenden dann den iterierten Wert, um ein Array-Element basierend auf a zu erhalten spezifischer Index.

Seit dem Aufkommen von ECMAScript6 können wir uns jedoch nicht mehr um den Index kümmern und die Array-Werte direkt durchlaufen, und dieser Vorgang kann mit einer for...of-Schleife abgeschlossen werden.

In einem Array kann die for...of-Schleife die Array-Elemente entsprechend der Reihenfolge des Index durchlaufen. Mit anderen Worten, sie kann die Iteration des Index steuern und einen vorhandenen Array-Wert entsprechend abrufen zum angegebenen Index. Diese Schleife ist nützlich, wenn Sie einfach alle Array-Elemente durchlaufen und verwenden möchten.

 var ary = ["orange","apple","lychee"];

for (let item of ary){

  console.log(item);

}

For comparison, with the regular for loop, we get the indices instead of the values as output.

 

var ary = ["orange","apple","lychee"];

for (var item = 0; item < ary.length; item++){

  console.log(item);

}

3. Die Anzahl der Elemente ist nicht gleich seiner Länge

Wenn wir über die Länge eines Arrays sprechen, denken wir im Allgemeinen, dass seine Länge entweder die Anzahl des Arrays ist Werte oder die Länge, die wir manuell für das Array festlegen. Tatsächlich hängt die Länge des Arrays jedoch vom größten darin vorhandenen Index ab.

长度是一个非常灵活的属性。无论你是否曾实现调整了数组的长度,只要你不断的给数组添加新的值,它的长度也会随之增长。

 var ary = [];

ary.length = 3;

console.log(ary.length);

ary[5] = "abcd";

console.log(ary.length);

在上面的例子中,你可以看到我给数组的索引5只指定了一个值,之后长度变成了6。现在,如果你觉得给index 5添加一个值,数组就会自动创建索引0-4,那么你的推测就出现了错误。数组中并没有应经存在的索引0-4。你可以使用in operator来查看。

 var ary = [];

ary.length = 3;

console.log(ary.length);

ary[5] = "abcd";

console.log(ary.length);

console.log(0 in ary);

上面的ary数组被我们成为稀疏数组(sparse array),这个数组的索引不会持续的被创建,而且索引之间有空气。sparse数组的对立面为密集数组(dense array)。密集数组的索引会被持续的创建,其元素的数量等于其长度。

数组的长度属性也可以用来缩短数字,确保数组中索引的最大数量永远小于数组本身,因为在默认情况下,长度的数值永远会大于索引数量的最高值。

在下面的例子中,你可以看到,我利用减少ary数组长度的方式,社区了索引5中的元素。

var ary = [];

ary.length = 3;

console.log(ary.length);

ary[5] = "abcd";

console.log(ary.length);

ary.length = 2;

console.log(ary.length);

console.log(ary[5]);

 以上就是关于JavaScript数组,你所不知道的3件事的内容,更多相关内容请关注PHP中文网(www.php.cn)! 



Stellungnahme:
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