【发布时间】:2016-12-31 22:59:44
【问题描述】:
大家好,我今天注意到一些奇怪的事情,试图在 JavaScript 中设置一个键值对。我知道对象的键始终是“字符串化”的,因此键值对始终是字符串:值,但是今天当我用数组尝试这个时发生了一些奇怪的事情。下面的例子:
var ob = {};
var a = [2,4];
ob[a] = 10;
console.log("this is ob ", ob);
这里我尝试添加键 [2,4] 以映射到 10。但是,控制台日志返回字符串 2,4 映射到 10,而不是字符串 [2,4] 映射到 10。有谁知道为什么会这样?
【问题讨论】:
-
为什么要使用数组作为键?
-
定义“奇怪的东西”。你实际上并不是在问问题。
-
String
2,4是Array.prototype.toString为数组[2,4]返回的内容 -
Object.keys(ob)// ["2,4"]
标签: javascript arrays object