簡體   English   中英

從immutable.js中的動態地圖對象獲取值/鍵

[英]getting the value/key from a dynamic map object in immutable.js

我有一個動態的不可變對象,我想知道一種獲取深層次價值的更好方法。 小提琴的例子

var map = {aaa:{bbb:{ccc:'ddd'}}}
map = Immutable.fromJS(map)

假設我不知道第三級密鑰ccc ,那么獲取其值的最佳方法是什么,在本例中為ddd

var map = {aaa:{bbb:{ccc:'ddd'}}}
map = Immutable.fromJS(map)

map.keySeq().toList().map(first=>{
    map.get(first).keySeq().toList().map(second=>{
      map.getIn([first,second]).valueSeq().toList().map(third=>{
           alert(third)
      })
  })
})

上面的示例是獲取值ddd的適當方法嗎? 我不能簡單地使用map.getIn(['aaa','bbb','ccc'])因為在我的情況下此地圖對象是動態的

據我了解,您正在嘗試獲取具有ddd值的密鑰。 如果您知道對象嵌套級別,則只需將其展平即可。

var map = {aaa:{bbb:{ccc:'ddd'},eee:{fff:'ggg'}}};
var map = map.flatten(3);
/// {
///  ccc: "ddd",
///  fff: "ggg"
/// }

現在,只需過濾地圖並獲取必需的密鑰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM