javascript - 从 immutable.js 中的动态映射对象获取值/键

标签 javascript immutable.js

我有一个动态不可变对象(immutable对象),我想知道一种更好的方法来获取深层值。 Fiddle Example

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

假设我不知道第三级 key 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']) 因为这个 map 对象在我的情况下是动态的

最佳答案

据我了解,您正在尝试获取具有 ddd 值的 key 。如果您了解对象嵌套级别,则可以简单地将其展平。

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

现在,只需过滤 map 并获取必要的 key 即可。

关于javascript - 从 immutable.js 中的动态映射对象获取值/键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38959753/

相关文章:

javascript - 未选中复选框时,条件表单将不会呈现,Safari 错误 (12.2)。在 Chrome 和 Firefox 中运行良好

javascript - Angular JS,如何将URL参数传递给angularJS中的$resource?

typescript - 如何将 Typescript Immutable JS 类型作为函数参数传递

javascript - JQuery - 粘贴事件,剥离富文本

javascript - 如何将自定义 Node 和属性添加到 AlloyUI 图表生成器

javascript - 在 Javascript 中更新不可变数据并返回 Promise

javascript - 在 ImmutableJS 中用 Iterable 替换 Map

reactjs - 不可变-JS : Merge a List of Maps by key

javascript - 更新未知的 Immutable.js 映射结构

javascript - 我可以用 highcharts 创建这样的图表吗