如何遍历不可变映射的不可变映射?
How to loop through an Immutable Map of Immutable Maps?
我有一个不可变的地图地图。
let mapOfMaps = Immutable.fromJS({
'abc': {
id: 1
type: 'request'
},
'def': {
id: 2
type: 'response'
},
'ghi': {
type: cancel'
},
'jkl': {
type: 'edit'
}
});
我怎么能
- 遍历 mapOfMaps 并获取所有键以打印出来?
- 遍历 mapOfMaps 的键以获取键的所有内容?
现阶段我没有切换到列表的选项。
我不知道如何循环键。
使用 keySeq()
/valueSeq()
方法,您可以获得 keys/values 的序列。然后你可以用 forEach()
:
来迭代它
let mapOfMaps = Immutable.fromJS({
abc: {
id: 1,
type: 'request'
},
def: {
id: 2,
type: 'response'
},
ghi: {
type: 'cancel'
},
jkl: {
type: 'edit'
}
});
// iterate keys
mapOfMaps.keySeq().forEach(k => console.log(k));
// iterate values
mapOfMaps.valueSeq().forEach(v => console.log(v));
此外,您可以使用 entrySeq()
:
在一个循环中迭代两者
mapOfMaps.entrySeq().forEach(e => console.log(`key: ${e[0]}, value: ${e[1]}`));
如果我们需要一起使用key:value,我们也可以使用for
循环。 for
loop 提供了灵活性,可以为所需的条件匹配放置 break;
。
//Iterating over key:value pair in Immutable JS map object.
for(let [key, value] of mapOfMaps) {
console.log(key, value)
}
我有一个不可变的地图地图。
let mapOfMaps = Immutable.fromJS({
'abc': {
id: 1
type: 'request'
},
'def': {
id: 2
type: 'response'
},
'ghi': {
type: cancel'
},
'jkl': {
type: 'edit'
}
});
我怎么能
- 遍历 mapOfMaps 并获取所有键以打印出来?
- 遍历 mapOfMaps 的键以获取键的所有内容?
现阶段我没有切换到列表的选项。
我不知道如何循环键。
使用 keySeq()
/valueSeq()
方法,您可以获得 keys/values 的序列。然后你可以用 forEach()
:
let mapOfMaps = Immutable.fromJS({
abc: {
id: 1,
type: 'request'
},
def: {
id: 2,
type: 'response'
},
ghi: {
type: 'cancel'
},
jkl: {
type: 'edit'
}
});
// iterate keys
mapOfMaps.keySeq().forEach(k => console.log(k));
// iterate values
mapOfMaps.valueSeq().forEach(v => console.log(v));
此外,您可以使用 entrySeq()
:
mapOfMaps.entrySeq().forEach(e => console.log(`key: ${e[0]}, value: ${e[1]}`));
如果我们需要一起使用key:value,我们也可以使用for
循环。 for
loop 提供了灵活性,可以为所需的条件匹配放置 break;
。
//Iterating over key:value pair in Immutable JS map object.
for(let [key, value] of mapOfMaps) {
console.log(key, value)
}