Array ist ein internes Objekt, das von JavaScript bereitgestellt wird. Wir können die darin enthaltenen Elemente zusätzlich hinzufügen (pushen) und löschen Im Array verwenden wir JavaScript. Kann es andere Sammlungen enthalten?
Aufgrund der Sprachfunktionen von JavaScript können wir Eigenschaften zu allgemeinen Objekten dynamisch hinzufügen und löschen. Daher kann Object auch als eine spezielle Sammlung von JS betrachtet werden. Vergleichen wir die Eigenschaften von Array und Objekt:
Array:
Neu: var ary = new Array(); oder var ary = [];
Hinzufügen: ary. push(value);
Delete: delete ary[n];
Traverse: for ( var i=0 ; i < ary.length ; ++i ) ary[i];
Objekt:
Neu: var obj = new Object(); oder var obj = {};
Hinzufügen: obj[key] = value; )
Delete: delete obj[key];
Traverse: for ( var key in obj ) obj[key];
Aus dem obigen Vergleich können wir das sehen Das Objekt ist vollständig. Es kann als Sammlung verwendet werden, indem ich das Popup-Fenster zum Erstellen eines unendlichen Webseitenmenüs (3) verwende. Ich habe den von Eric implementierten __MenuCache__ eingeführt, der ebenfalls ein simuliertes Sammlungsobjekt ist.
Wenn wir einen bestimmten Wert im Array abrufen möchten, müssen wir das gesamte Array durchlaufen:
817a9e2be160bb246bd6686de6003bf4Diese Funktion von Object kann zum effizienten Abrufen eindeutiger Zeichenfolgensammlungen verwendet werden. Die zeitliche Komplexität des Durchlaufens eines Arrays beträgt O(n), während die zeitliche Komplexität des Durchlaufens von Object O( 1 ist ). Obwohl die Kosten für den Abruf von 10.000 Sammlungen nur einige zehn Millisekunden betragen, sind die Vorteile der Verwendung von Object bei 1.000 x 1.000 Abrufen oder mehr sofort ersichtlich. Zuvor habe ich eine Zuordnung durchgeführt, bei der 100 eindeutige Zeichen 1000 Zeichenfolgenarrays zugeordnet wurden, was 25 bis 30 Sekunden dauerte. Später habe ich die For-Durchquerung in die Mitgliedsreferenz der simulierten Objektsammlung geändert und die gleiche Datenmenge zugeordnet. es dauert nur 1,7-2s!!!
Für die Durchlaufeffizienz der Sammlung (von hoch nach niedrig): var value = obj[key] > . Die am wenigsten effiziente Methode ist for(in). Wenn die Sammlung zu groß ist, versuchen Sie, for(in) nicht zum Durchlaufen zu verwenden.
Das Obige ist der Inhalt des Javascript-Tutorials zu Arrays, Sammlungen und Effizienz in JavaScript. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php .cn)!