我想做一个这样的结构:
var myThings = {
thing1: {
['24-04-12', '90'],
['25-04-12', '90'],
['26-04-12', '90']
},
thing2: {
['24-04-12', '10'],
['25-04-12', '30'],
['26-04-12', '210']
}
}
(有 4 个东西,硬编码)。
每个对象中的数组将循环添加,所以我的代码如下所示:
var myThings = {"thing1":{}, "thing2":{}};
然后我不知道如何将我的数组推送到对象中。
我是不是太笨了,或者这不是这样做的方法?
非常感谢!
最佳答案
您需要在那里使用Array
而不是Object
。喜欢
var myThings = {
thing1: [
['24-04-12', '90'],
['25-04-12', '90'],
['26-04-12', '90']
],
thing2: [
['24-04-12', '10'],
['25-04-12', '30'],
['26-04-12', '210']
]
}
现在因为 thing1
和 thing2
是 Arrays
你可以只使用 Array.prototype.push
来推送新的Arrays
到那个Array
。
Object.keys( myThings ).forEach(function( thing ) {
myThings[ thing ].push( ['01-01-12', '42'] );
});
该代码会将 ['01-01-12', '42']
添加到该对象中的所有当前 things
。
免责声明:以上代码包含 ES5。您需要一个支持该功能的浏览器或一个 Shim 来模拟
关于javascript - 如何让一个对象充满数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9958351/