我需要一套“复杂的东西”,其中“复杂的东西”是一个数字或字符串数组。
我可以使用普通对象吗?
示例:
var set = {};
set[[1,2]] = 1;
set[[1,2]] = 1;
set[["string", "another string"]] = 1;
set[["string", "another string"]] = 1;
现在我希望set
中有两个键/值对,Chrome中的测试确认是这种情况。依赖这种行为是否安全?
答案 0 :(得分:2)
完全没有。
对象键只能 是字符串或数字
通过调用toString()
将复杂对象转换为字符串。
您可以在spec:
中看到这一点让propertyNameString为ToString(propertyNameValue)。
因此,set[ [1,2] ]
与set["1,2"]
相同。