La prima cosa da notare è che non si è in realtà la creazione di una mappa, si sta creando un elenco:
var result = [{'id': 2}, {'id': 4}];
var map = Immutable.fromJS(result);
Immutable.Map.isMap(map); // false
Immutable.List.isList(map); // true
Per creare una mappa è possibile utilizzare un argomento reviver
nella propria chiamata (docs), ma non è certamente l'API più intuitiva, in alternativa è possibile effettuare una delle seguenti operazioni:
// lets use letters rather than numbers as numbers get coerced to strings anyway
var result = [{'id': 'a'}, {'id': 'b'}];
var map = Immutable.Map(result.reduce(function(previous, current) {
previous[ current.id ] = current;
return previous;
}, {}));
Immutable.Map.isMap(map); // true
Ora abbiamo una mappa corretta Immutable.js che ha un metodo get
var item = Map.get('a'); // {id: 'a'}
Ah, carino, ho provato questo, ma non ci sono riuscito più. Ma questo più preciso \t. Grazie! – sspross
Questo funziona anche per Elenco. Grazie. – Lebul