【发布时间】:2013-10-15 23:51:26
【问题描述】:
似乎 Nodejs 0.10.20 中的 Map 已损坏。我用 --harmony (包括 --harmony_collections 标志)启动它。
如需参考,请查看http://dailyjs.com/2012/10/15/preparing-for-esnext/。
下面的示例在 Firefox 20.0 中运行。
在 Nodejs 控制台中,我执行以下操作
> var map = new Map([ ["name", "Nicholas"], ["title", "Author"]]);
未定义
> 地图
{}
所以构造函数初始化似乎不起作用。 然后我按照 Firefox 示例进行操作,但它们大多不起作用:
> console.log(map.has("name")); // 真的
假
未定义
> console.log(map.get("name")); // “尼古拉斯”
未定义
未定义
> console.log(map.has("title")); // 真的
假
未定义
> console.log(map.get("title")); // “作者”
未定义
未定义
> 控制台.log(map.size()); // 2
TypeError: Object # has no method 'size'
在回复:1:17
在 REPLServer.self.eval (repl.js:110:21)
在 repl.js:249:20
在 REPLServer.self.eval (repl.js:122:7)
在界面。 (repl.js:239:12)
在 Interface.EventEmitter.emit (events.js:95:17)
在 Interface._onLine (readline.js:202:10)
在 Interface._line (readline.js:531:8)
在 Interface._ttyWrite (readline.js:760:14)
在 ReadStream.onkeypress (readline.js:99:10)
我很困惑这些基本的 Map 方法不起作用。 我有 Nodejs 版本 0.10.20
【问题讨论】:
-
我不确定你的问题/是/甚至。这是一个开发功能。另外,不要在 REPL 中使用
console.log()。结果已经以相同的方式检查和转储。 -
您需要使用整个数组作为该代码中的键,而不仅仅是任意数组元素...
标签: node.js ecmascript-harmony ecmascript-6