如何从Object.keys函数返回的MapIterator中快速检索值?

时间:2017-04-05 21:04:26

标签: javascript google-chrome ecmascript-6

我有一个变量RULE_TABLE,它是一个将对象映射到字符串的映射。

我想在Chrome开发者控制台中快速从RULE_TABLE的键中检索一些值。

如果我跑

a = RULE_TABLE.keys()

我得到一个MapIterator对象。

enter image description here

但是,我尝试其中任何一种:

  • a[0]
  • a.get(0)

我无法检索任何值:

enter image description here

最终我以这种方式将其转换为列表

var keys = [];
for (var key of RULE_TABLE.keys()) {
    keys.push(key);
}

我的问题是:

有没有更快捷的方法将MapIterator转换为列表?就像list()在python中的表现一样?

Chrome版本:版本57.0.2987.133(64位)

1 个答案:

答案 0 :(得分:3)

假设您使用的是原生Map并且可以使用ES6,则可以使用spread operator展开Map.keys()

const keys = [...RULE_TABLE.keys()]