2016-02-25 6 views
10

Je veux récupérer les clés() de la carte Immuable suivante:immutable.js obtenir les clés de carte/hachage

var map = Immutable.fromJS({"firstKey": null, "secondKey": null }); 
console.log(JSON.stringify(map.keys())); 

Je me attends à la sortie:

["firstKey", "secondKey"] 

Cependant cette sortie:

{"_type":0,"_stack":{"node":{"ownerID":{},"entries":[["firstKey",null],["secondKey",null]]},"index":0}} 

Comment le faire correctement?

lien jsFiddle: https://jsfiddle.net/o04btr3j/57/

Répondre

25

Voici comment ImmutableJS objet ressemble.

Si vous voulez obtenir:

["firstKey", "secondKey"] 

que vous devez faire:

console.log(map.keySeq().toArray()) 
+2

Vous pouvez également utiliser les 'tojs génériques()' pour convertir les types immuables retour à des objets normaux js ou des tableaux. – OlliM

12

Bien que cette question se est répondu il y a un certain temps, voici une petite mise à jour:

ES6 Solution:

const [ ...keys ] = map.keys(); 

Pre ES6 Solution:

var keys = map.keySeq().toArray(); 
+0

Excellente solution ES6 mise à jour! –

+1

ES6 est ES2015. Voulez-vous dire pré-ES2015? – Druckles

+0

Modifié. Merci d'avoir mentionné – lumio