Was ist der beste Weg, um ein key=>value
Array in Javascript zu speichern , und wie kann das durchlaufen werden?
Der Schlüssel jedes Elements sollte ein Tag sein, wie z. B. {id}
oder nur, id
und der Wert sollte der numerische Wert der ID sein.
Es sollte entweder das Element einer vorhandenen Javascript-Klasse sein oder eine globale Variable, auf die über die Klasse leicht verwiesen werden kann.
jQuery kann verwendet werden.
javascript
jquery
Klicken Sie auf Upvote
quelle
quelle
Array.prototype.forEach
Antworten:
Genau das ist ein JavaScript-Objekt:
Sie können es mit
for..in
loop durchlaufen :Siehe auch: Arbeiten mit Objekten (MDN).
In ECMAScript6 gibt es auch
Map
(siehe dort die Browserkompatibilitätstabelle):quelle
var foo = Object.create(null)
und dann Eigenschaften hinzuzufügenfoo.bar = "baz"
. Das Erstellen eines Objekts mit{}
entsprichtObject.create(Object.prototype)
, was bedeutet, dass es alle Eigenschaften von erbtObject
. Normalerweise ist dies kein Problem, aber es kann dazu führen, dass Ihr Objekt unerwartete Schlüssel hat, wenn eine Bibliothek die globale geändert hatObject.prototype
.Wenn ich dich richtig verstanden habe:
quelle
Sie können Map verwenden .
Holen Sie sich den Wert der Karte mit dem Schlüssel
Holen Sie sich die Größe der Karte
Der Prüfschlüssel ist in der Karte vorhanden
Schlüssel holen
Werte abrufen
Holen Sie sich Elemente der Karte
Schlüsselwertpaare drucken
Drucken Sie nur die Schlüssel der Karte
Drucken Sie nur Werte der Karte
quelle
JSON.stringify()
.In Javascript wird ein Schlüsselwertarray als Objekt gespeichert. Es gibt solche Dinge wie Arrays in Javascript, aber sie werden auch immer noch als Objekte betrachtet. Überprüfen Sie die Antwort dieser Typen. Warum kann ich einem Array benannte Eigenschaften hinzufügen, als wäre es ein Objekt?
Arrays werden normalerweise mit eckiger Klammer-Syntax und Objekte ("key => value" -Arrays) mit geschweifter Klammer-Syntax angezeigt. Sie können jedoch Objekteigenschaften mit eckiger Klammer-Syntax aufrufen und festlegen, wie Alexey Romanov gezeigt hat.
Arrays in Javascript werden normalerweise nur mit numerischen, automatisch inkrementierten Schlüsseln verwendet, aber Javascript-Objekte können auch benannte Schlüsselwertpaare, Funktionen und sogar andere Objekte enthalten.
Einfaches Array z.
Ausgabe -
0 "Kanada"
1 "Wir"
2 "Frankreich"
3 "Italien"
Wir sehen oben, dass wir ein numerisches Array mit der Funktion jQuery.each schleifen und mit eckigen Klammern mit numerischen Tasten auf Informationen außerhalb der Schleife zugreifen können.
Einfaches Objekt (json)
Ausgabe -
Mein Name ist James und ich bin ein 6 ft 1 Programmierer
Name James
Berufsprogrammierer
Höhe Objekt {Fuß: 6, Zoll: 1}
In einer Sprache wie PHP würde dies als mehrdimensionales Array mit Schlüsselwertpaaren oder als Array innerhalb eines Arrays betrachtet. Ich gehe davon aus, dass Sie, weil Sie gefragt haben, wie Sie ein Schlüsselwertarray durchlaufen sollen, wissen möchten, wie Sie ein Objekt (Schlüssel => Wertearray) wie das obige Personenobjekt erhalten, um beispielsweise mehr als eine Person zu haben.
Nun, da wir wissen, dass Javascript-Arrays normalerweise für die numerische Indizierung und Objekte flexibler für die assoziative Indizierung verwendet werden, werden wir sie zusammen verwenden, um ein Array von Objekten zu erstellen, die wir wie folgt durchlaufen können:
JSON-Array (Array von Objekten) -
Ausgabe -
Mein Name ist Joshua und ich bin ein 5 ft 11 CEO
Mein Name ist James und ich bin ein 6 ft 1 Programmierer
Mein Name ist Peter und ich bin ein 4 ft 10 Designer
Mein Name ist Joshua und ich bin ein 5 ft 11 CEO
Beachten Sie, dass ich außerhalb der Schleife die Syntax in eckigen Klammern mit einem numerischen Schlüssel verwenden muss, da dies jetzt ein numerisch indiziertes Array von Objekten ist und natürlich innerhalb der Schleife der numerische Schlüssel impliziert ist.
quelle
Objekte innerhalb eines Arrays:
quelle
Mach das einfach
quelle
Ich weiß, dass es spät ist, aber es könnte für diejenigen hilfreich sein, die andere Wege wollen. Eine andere Möglichkeit, Array-Schlüssel => -Werte zu speichern, ist die Verwendung einer Array-Methode namens map (). ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map ) Sie können auch die Pfeilfunktion verwenden
quelle
Heute haben wir unser neues Paket namens Laravel-Blade-Javascript veröffentlicht. Es bietet Ihnen eine Javascript-Blade-Direktive zum Exportieren von PHP-Variablen nach JavaScript. Es funktioniert also im Grunde genauso wie das beliebte PHP-Vars-To-Js-Transformer-Paket von Jeffrey Way, aber anstatt Variablen in den Controller zu exportieren, macht unser Paket eine Ansicht.
Hier ist ein Beispiel, wie es verwendet werden kann:
Die gerenderte Ansicht gibt Folgendes aus:
In Ihrem Browser haben Sie jetzt Zugriff auf eine Schlüsselvariable:
Sie können auch ein einzelnes Argument verwenden:
Welches wird das gleiche wie im ersten Beispiel ausgeben.
Sie können die Konfigurationsdatei auch verwenden, um einen Namespace einzurichten, in dem sich alle exportierten JavaScript-Variablen befinden sollen.
quelle