Immutablejs: Один код liner для преобразования ключей карты в массив?

Из документов docs: Карта #

Я получаю ключи карты и прокручиваю ее, чтобы преобразовать их в массив. Есть ли один строковый код для чистого преобразования этих ключей в массив?

Ответы

Ответ 1

Вы можете использовать keySeq вместо keys, IndexedSeq имеет метод toArray:

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

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

Ответ 2

Если вы можете использовать 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"]