J'ai une carte immuable de cartes.
let mapOfMaps = Immutable.fromJS({
'abc': {
id: 1
type: 'request'
},
'def': {
id: 2
type: 'response'
},
'ghi': {
type: cancel'
},
'jkl': {
type: 'edit'
}
});
Comment puis-je
Je n'ai pas la possibilité de passer à une liste à ce stade.
Je ne sais pas comment passer en revue les clés.
Avec la méthode keySeq()
/valueSeq()
, vous obtenez une séquence de clés/valeurs. Ensuite, vous pouvez le parcourir par exemple avec 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));
De plus, vous pouvez itérer les deux dans une boucle avec entrySeq()
:
mapOfMaps.entrySeq().forEach(e => console.log(`key: ${e[0]}, value: ${e[1]}`));
Si nous avons besoin de clé et de valeur ensemble, nous pouvons également utiliser for
loop. for
loop permet de mettre en pause une correspondance avec la condition souhaitée.
//Iterating over key and value pair in Immutable JS map object.
for(let [key, value] of mapOfMaps) {
console.log(key, value)
}