【发布时间】:2009-11-14 08:11:06
【问题描述】:
我有一个稀疏数组,我想用 JSON 表示。例如:
-10 => 100
-1 => 102
3 => 44
12 => -87
12345 => 0
我该怎么做?我可以这样做吗?
【问题讨论】:
标签: json sparse-array
我有一个稀疏数组,我想用 JSON 表示。例如:
-10 => 100
-1 => 102
3 => 44
12 => -87
12345 => 0
我该怎么做?我可以这样做吗?
【问题讨论】:
标签: json sparse-array
您可以将其表示为一个简单的对象:
{
"-10" : 100,
"-1" : 102,
"3" : 44,
"12" : -87,
"12345" : 0
}
因为它是一个简单的对象,你不能像数组一样迭代它,但你可以使用for...in 语句:
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
var value = obj[key];
}
}
如果你想通过键访问特定元素,你也可以在这里使用方括号property accessor:
obj['-10']; // 100
请注意,我在for...in 循环中使用hasOwnProperty 方法,这是为了防止在原型链的更高级别上定义的迭代属性,这可能会导致问题和意外行为...更多信息here。
【讨论】:
是的,你可以。 JSON 对象成员名称是字符串。字符串可以保存任何 UTF-8 编码的值:
{
"-10" : 100,
"-1" : 102,
"3" : 44,
"12" : -87,
"12345" : 0
}
【讨论】: