使用复杂的对象/数组作为关键工作“按预期”吗?

时间:2012-02-09 19:08:29

标签: javascript set

我需要一套“复杂的东西”,其中“复杂的东西”是一个数字或字符串数​​组。

我可以使用普通对象吗?

示例:

var set = {};
set[[1,2]] = 1;
set[[1,2]] = 1;
set[["string", "another string"]] = 1;
set[["string", "another string"]] = 1;

现在我希望set中有两个键/值对,Chrome中的测试确认是这种情况。依赖这种行为是否安全?

1 个答案:

答案 0 :(得分:2)

完全没有。

对象键只能 是字符串或数字 通过调用toString()将复杂对象转换为字符串。

您可以在spec

中看到这一点
  

让propertyNameString为ToString(propertyNameValue)。

因此,set[ [1,2] ]set["1,2"]相同。