Immutablejs:一个线性代码,用于将地图的键转换为数组?

Mel*_*vin 17 javascript immutable.js

来自docs:Map#keys

我得到了Map的键并循环遍历它以将它们转换为数组.是否有一行代码将这些密钥干净地转换为数组?

Oll*_*liM 37

你可以用一个has 方法keySeq代替:keysIndexedSeqtoArray

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

var arr = map.keySeq().toArray()
Run Code Online (Sandbox Code Playgroud)


小智 8

如果你可以使用ES6:

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

var [...arr] = map.keys();
console.log(arr); // ["a", "b", "c"]
Run Code Online (Sandbox Code Playgroud)

要么

var arr = Array.from(map.keys());
console.log(arr); // ["a", "b", "c"]
Run Code Online (Sandbox Code Playgroud)