看起来你想要一个包含多个对象实例的 JavaScript 对象,这些实例都有两个键 value
和 children
。使用数组似乎是最好的选择(Khnle 和 Chris 的答案给出了示例):
[{"value":2,"children":3}, {"value":12,"children":9}, {"value":20,"children":13}]
然而,在你对一个答案的评论中,你说你不想要一个数组。一种方法是像Jergason的答案一样将其包装:
{
"children": [
{"value":2,"children":3},
{"value":12,"children":9},
{"value":20,"children":13}
]
}
根据您的问题,似乎您喜欢数组,因为您可以使用push
操作,但是您希望完全避免使用它们。要完全避免使用数组,唯一的方法是为每个对象标记一个唯一的键。如果这确实是您想要的,那么代码应该像这样:
{
"child0":{"value":2,"children":3},
"child1":{"value":12,"children":9},
"child2":{"value":20,"children":13}
}
这并不难做到;只需将
kids.push(child)
替换为
kids["child" + i] = child
即可。
但请确保这真的是你想要的,因为这个孩子集合似乎非常适合使用数组! :-)
push
是 JavaScript 数组的方法,而不是 JavaScript 对象的方法。 - Cheesokids
对象有一个空的第一个元素。如果你不想让第一个元素是一个空对象,那么为什么要把一个空对象放在那里呢?请重新表述你的问题,以使你试图做什么更清晰。给出一个你所期望的输出的具体例子。你似乎不理解数组和对象之间的区别(正如其他人指出的,你似乎也不知道JSON是什么)。帮助我们帮助你... - nnnnnn