如何避免在Immutable.js中从数字到字符串的不需要的密钥转换

jav*_*ier 5 javascript node.js browserify immutable.js

我正试图在具有reactjs和flux的项目中使用Immutable.

假设我有一个包含代码的.js文件

console.log ( Immutable.Map({1: 2}).toString() )
Run Code Online (Sandbox Code Playgroud)

我浏览此脚本并从浏览器(谷歌浏览器)运行它,结果是:

"Map { "1": 2 }"
Run Code Online (Sandbox Code Playgroud)

注意,键1现在是一个字符串,而不是一个数字.

如果我直接在网站http://facebook.github.io/immutable-js/的控制台中尝试相同的代码,我会得到正确的结果:

"Map { 1: 2 }"
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况,我该怎么做才能在我的脚本中获得正确的结果(键作为数字)?

我正在使用节点v0.10.26,Browserify 5.12.0和不可变3.7.1

小智 6

为Map提供一组键值对似乎可以解决问题:

> Immutable.Map([[1, 2]]).toString()
'Map { 1: 2 }'
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅https://facebook.github.io/immutable-js/docs/#/Map/Map