Dieser Artikel bietet Ihnen eine Einführung in die Verwendung der js-Datenstrukturtyperweiterung immutable-js (Codebeispiele). Ich hoffe, dass er für Sie hilfreich ist.
Im Vergleich zu stark typisierten Sprachen wie Java und .net besteht ein großer Unterschied zwischen js und js darin, dass die Datenstrukturen nur über Arrays und Objekte verfügen und beide dynamisch variabel sind, während Java über List und Set verfügt , Karte und andere Datenstrukturen. Um diese Datenstrukturen in js zu verwenden, wurde daher immutable-js ins Leben gerufen.
immutable-js erweitert unveränderliche Sammlungen in JavaScript, also Datentypen, die nach ihrer Erstellung nicht mehr geändert werden können. Dies vereinfacht die Anwendungsentwicklung und die schutzlose Replikation, ermöglicht erweiterte Speicherschemata und verwendet eine einfachere Logik zur Suche nach Updates. Persistente Daten stellen modifizierbare APIs bereit, die die vorhandenen Daten nicht aktualisieren, sondern neue aktualisierte Daten generieren.
1. Liste: geordnete Indexsammlung, ähnlich wie Array in JavaScript
2 ) Paare) Satz
3. OrderedMap: geordnete Karte
4. Satz: Satz ohne doppelte Werte
5. Stack: Eine indizierte Sammlung, die das Hinzufügen und Entfernen von Elementen unterstützt
7. Range(): Gibt eine Seq.Indexed-Sammlung zurück, die von Anfang bis Ende mit Schrittgröße gefüllt ist. Der Startstandardwert ist 0, der Standardwert von Schritt ist 1 und der Standardwert von end ist unendlich. Wenn start = end, wird eine leere Sammlung zurückgegeben.
8. Repeat(): Gibt eine Seq.Indexed-Sammlung zurück, die den Wert mal mal wiederholt. Wenn times undefiniert ist, wird eine Seq-Sammlung unendlicher Werte zurückgegeben.
9. Datensatz: Ähnlich wie JavaScripts Objekt, empfängt jedoch nur bestimmte Zeichenfolgen als Schlüssel und hat Standardwerte
10. Seq: Ermöglicht die Verwendung von Set-Funktionen höherer Ordnung ohne Zwischensammlungen (Eine Sammlung verzögerter Operationen für effiziente Kettenaufrufe wie Map und Filter
11. Sammlung: die Basisklasse aller Datenstrukturen
3. API bereitgestellt
3.1 fromJS: Konvertieren Sie JS-Daten in unveränderliche JS-Daten.const { fromJS, isKeyed } = require('immutable@4.0.0-rc.9');
fromJS({ a: {b: [10, 20, 30]}, c: 40}, function (key, value, path) {
console.log(key, value, path)
return isKeyed(value) ? value.toOrderedMap() : value.toList()
})
> "b", [ 10, 20, 30 ], [ "a", "b" ]
> "a", {b: [10, 20, 30]}, [ "a" ]
> "", {a: {b: [10, 20, 30]}, c: 40}, []
const { Map, is } = require('immutable@4.0.0-rc.9')
const map1 = Map({ a: 1, b: 1, c: 1 })
const map2 = Map({ a: 1, b: 1, c: 1 })
assert.equal(map1 !== map2, true)
assert.equal(Object.is(map1, map2), false)
assert.equal(is(map1, map2), true)
Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung der JS-Datenstrukturtyperweiterung immutable-js (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!