如何使对象充满数组?

Ric*_*haw 2 javascript arrays 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']
    }
}
Run Code Online (Sandbox Code Playgroud)

(有4件事,硬编码).

每个对象中的数组将被添加到循环中,因此我的代码如下所示:

var myThings = {"thing1":{}, "thing2":{}};
Run Code Online (Sandbox Code Playgroud)

然后我无法弄清楚如何将我的数组推入对象.

我是愚蠢的,还是这不是这样做的方式?

非常感谢!

jAn*_*ndy 5

您需要使用的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']
    ]
}
Run Code Online (Sandbox Code Playgroud)

现在既然thing1thing2Arrays你可以用Array.prototype.push推新ArraysArray.

Object.keys( myThings ).forEach(function( thing ) {
    myThings[ thing ].push( ['01-01-12', '42'] );
});
Run Code Online (Sandbox Code Playgroud)

该代码将添加['01-01-12', '42']things该对象中的所有当前值.

免责声明:以上代码包含ES5.您需要一个支持该浏览器或Shim来模拟的浏览器