【发布时间】:2017-03-25 13:22:16
【问题描述】:
我正在使用immutableJs
我的状态对象如下所示:
export const initialToolbarState = Map({
temSelectionCtrl : Map({
temSelect : true,
}),
functionalCtrl : Map({
addEle : true,
grpSelect : true,
drawShape : true
}),
operationalCtrl : Map({
zoomIn : true,
zoomOut : true,
pan : true,
temSide : true
}),
referenceCtrl : Map({
saveCtrl : true
})
});
所以有些对象的键具有boolean 值。
我想映射(循环)这些对象并获取它们的keys。 boolean 值告诉是否渲染 key。 Immutable 允许我们使用其自定义的map 函数映射Maps。因此,以下工作,但并非按预期工作:
// map over the initialToolbarState Map object
let ctrls = initialToolbarState.map(( eachToolbar ) => {
// map over the child Map objects like temSelectionCtrl, functionalCtrl, operationalCtrl etc
return eachToolbar.map(( eachCtrl, i ) => {
// get the key corresponding to 'eachCtrl' value
let propKey = eachToolbar.keyOf( eachCtrl );
// propKey is always the first property (1st prop) of 'eachToolbar'
console.log( propKey );
...
使用immutableJs,有没有办法在循环中获得与当前'eachCtrl'值对应的正确key?我可以确保 i 帮助将其指向与 key 匹配的正确 value 吗?
【问题讨论】:
标签: javascript loops key immutable.js