繁体   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