web-dev-qa-db-ja.com

Immutablejs:マップのキーを配列に変換するための1つのライナーコード?

ドキュメントから: Map#keys

マップのキーを取得し、それをループして配列に変換します。これらのキーを配列にきれいに変換するための1行のコードはありますか?

18
Melvin

keySeqの代わりに keys を使用できます。IndexedSeqにはtoArrayメソッドがあります。

var map = Immutable.fromJS({
  a: 1,
  b: 2,
  c: {
    d: "asdf"
  }
})

var arr = map.keySeq().toArray()
38
OlliM

ES6を使用できる場合:

var map = Immutable.fromJS({
  a: 1,
  b: 2,
  c: {
    d: "asdf"
  }
});

var [...arr] = map.keys();
console.log(arr); // ["a", "b", "c"]

または

var arr = Array.from(map.keys());
console.log(arr); // ["a", "b", "c"]
8
geeklain