Immutable.js Karten-set vs-update
Möchte ich ändern einen Wert zu einem key in einer Map, die ich habe. Andere als die Tatsache, dass mit update
wird mir eine Fehlermeldung wenn ich den key Fragen zum update nicht vorhanden ist, welche Vorteile gibt es (wenn überhaupt) zu verwenden update
über set
? Ich finde set
deutlich präziser/sauberer. In der Tat, auf der Grundlage der Dokumentation könnte man (blind) argumentieren, dass set
ist tatsächlich effizienter als update
seit set
nicht haben ausführen die get
für die updater
Funktion.
Du musst angemeldet sein, um einen Kommentar abzugeben.
update
ist stärker, wenn Ihr neue Wert ist das Ergebnis einer Transformation des aktuellen Wertes:vs. mit
set
:Dieses Beispiel ist ziemlich trivial, aber das Muster anwenden der Transformationen, um Ihre Daten auf diese Weise wird häufiger, wenn Sie beginnen, Ihre algorithmen, um Ihre Daten (wie in FP), anstatt die andere Weise herum. Ich habe Dinge getan, die vorher in einem Spiel wie
game.update('player', moveLeft)
.Wenn Sie wissen, was der neue Wert ist, obwohl, dann verwenden Sie einfach
set
alsupdate(key, x => val)
ist eher albern.update
oder wennset
war in Ordnung.@MatthewHerbst sagte:
in seinem Kommentar auf @andrew-marshall-Reaktion
Glaube ich nicht, es ist eine Frage des guten oder schlechten Praxis.
Von dem, was ich verstehe, da gibt es zwei verschiedene Anwendungsfälle:
set
update
So Sie ich glaube nicht, sollten Sie Sie immer verwenden
set
überupdate
(oder anders herum), denke ich sollten Sie die eine oder die andere abhängig von Ihren use-case