マップの不変のマップを持っています。
let mapOfMaps = Immutable.fromJS({
'abc': {
id: 1
type: 'request'
},
'def': {
id: 2
type: 'response'
},
'ghi': {
type: cancel'
},
'jkl': {
type: 'edit'
}
});
どうやって
この段階でリストに切り替えるオプションはありません。
キーをループする方法がわかりません。
keySeq()
/valueSeq()
メソッドを使用すると、キー/値のシーケンスを取得できます。次に、たとえば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()
を使用して、1つのループで両方を繰り返すことができます。
_mapOfMaps.entrySeq().forEach(e => console.log(`key: ${e[0]}, value: ${e[1]}`));
_
Key:valueが一緒に必要な場合は、for
loopも使用できます。 for
loopは、目的の条件に一致するようにブレークを設定する柔軟性を提供します。
//Iterating over key:value pair in Immutable JS map object.
for(let [key, value] of mapOfMaps) {
console.log(key, value)
}