我正在尝试创建一个对象,其中有一个键值对,并且该值是一个数组。
即:
foo = {'key1':['val1','val2'], 'key2':['v3','v4']};
这在纯 JS 中可能吗?
例如
var foo = {};
foo['key1'] = ['keyOneVal1'];
foo['key1'] = ['keyOneVal2'];
但正如您可能已经猜到的,这只是覆盖了 keyOneVal1。
我也尝试过
var foo = {};
foo['key1'].push('k1v1');
foo['key1'].push('k1v2');
但无法让它在 jsfiddle 中工作。
编辑:
好的,听到你们声音响亮而清晰。 该对象不会使用起始键进行初始化,而是根据时间动态插入。所以最终该对象看起来更像
foo = {'time1':['a','b'], 'time2':['c','d','e','f'], 'time3':['y','y']};
最佳答案
这很有可能。你的第二个例子是正确的方法。您只是缺少初始化程序:
var foo = {};
foo['key1'] = [];
foo['key1'].push('k1v1');
foo['key1'].push('k1v2');
for(var i = 0; i < foo['key1'].length; i++) {
document.write(foo['key1'][i] + '<br />');
}
关于Javascript - 具有键值对的对象,其中值是一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27513638/