私が持っているマップのキーの値を変更したいと思います。実際にはupdate
を使用すると、私が更新を求めているキーが存在しない場合はエラーが表示されますが、set
を超えてupdate
を使用すると(あれば)何のメリットがありますか?私はset
がより簡潔/クリーナーであることが分かります。実際には、文書に基づいて、set
は、がupdater
機能のためにget
を実行する必要がないので、実際にupdate
よりも効率的であると主張することができます(盲目的に)。Immutable.js地図セット対更新
6
A
答えて
15
update
は、あなたの新しい値が現在の値の変換の結果である場合に、より強力です:set
と
const inc = (x) => (x + 1)
const m = Immutable.Map({a: 1, b: 2, c: 3})
m.update('b', inc) #=> {a: 1, b: 3, c: 3})
対:
m.set('b', inc(m.get('b'))
この例は非常に簡単ですが、この方法でデータに変換を適用するパターンは、逆の代わりに(FPのように)データの周りにアルゴリズムを構築し始めるとより一般的になります。私はgame.update('player', moveLeft)
のようなゲームの中で前にやったことがあります。
あなたは、新しい値が何であるかを知って場合は、しかし、その後、ちょうどupdate(key, x => val)
としてset
を使用することはかなり愚かです。
0
@MatthewHerbstは言った:それはアップデートを使用するにはまだ良い練習だった場合、または
は(...)思っていたセットは、@アンドリュー・マーシャルの応答の彼のコメントで
を罰金だった場合
私はそれが良いか悪い習慣の問題ではないと思います。
私は2つの異なる使用例があります理解して何から:あなたはを設定
- 値が以前の値にを依存していない:
set
- を使用し、あなたがを設定した値は、前のに依存値:use
update
をより常に使用する必要はありません(またはその逆)、私ははあなたのユースケース
関連する問題
- 1. Immutable.js地図値配列
- 2. 地図の更新履歴
- 3. 地図の更新で
- 4. マルチマップと地図のセット
- 5. 角度リーフレットの地図更新
- 6. リーフレット - 地図を更新する
- 7. Toggle Mapbox地図ロード後のGL JS地図の対話性
- 8. 地図上の地域地図の変更AndroidSdk
- 9. スパークRDD-地図と地図地図
- 10. タイプ(地図。地図)
- 11. マーカーの変更後に地図を更新する
- 12. 地図内の地図java
- 13. Immutable.js - fromJSは地図の代わりにレコードを生成します
- 14. immutable.jsは、私は、次の不変地図から鍵を()を取得したい
- 15. グーグルグアバマップはJavaのUtilの地図対
- 16. GPS地図マーカーの位置を更新するXamarin
- 17. 地図上の値が更新されない - Android
- 18. 地図を更新するための機能的方法
- 19. 地図上のマーカーを定期的に更新する方法
- 20. Rマップパッケージの世界地図が更新されましたか?
- 21. Androidアップデートのtextviewタイマーと地図コンテンツを更新しますか?
- 22. ボタンのクリックでパラメータを使って地図を更新する
- 23. 地図をループしてエリクシルのキー値を更新する
- 24. ImmutableJs:ネストされた地図で一覧を更新
- 25. recurringlyこのマップを更新mapItemsControl.Itemtemplate WP7地図
- 26. 地図でCLUSTERマネージャーが更新されていない
- 27. ここで地図タイル更新の代わりに地図を一度に保存
- 28. 地図上のプロット点R地図パッケージ
- 29. イギリス郡地図と画像地図
- 30. 地図でクロザールの地図をサブ
に応じて、どちらか一方を使用する必要がありますええ、私は値を知っているので、まだ 'update'かを使用することをお勧めした場合は思っていたと思いますもし 'set'がうまくいけば。 –