use*_*041 0 javascript arrays object data-structures
我正在尝试创建一个对象,其中有一个键值对,值是一个数组.
即:
foo = {'key1':['val1','val2'], 'key2':['v3','v4']};
Run Code Online (Sandbox Code Playgroud)
这在纯JS中是否可行?
例如
var foo = {};
foo['key1'] = ['keyOneVal1'];
foo['key1'] = ['keyOneVal2'];
Run Code Online (Sandbox Code Playgroud)
但正如你可能已经猜到的那样,这只会覆盖keyOneVal1.
我也试过了
var foo = {};
foo['key1'].push('k1v1');
foo['key1'].push('k1v2');
Run Code Online (Sandbox Code Playgroud)
但无法让它在jsfiddle中运作.
编辑:
好的,你们大声清楚地听到了.此对象不会使用启动键进行初始化,而是根据时间动态插入.所以最终对象看起来更像
foo = {'time1':['a','b'], 'time2':['c','d','e','f'], 'time3':['y','y']};
Run Code Online (Sandbox Code Playgroud)
这很有可能.你的第二个例子是正确的方法.你刚刚错过了初始化程序:
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 />');
}Run Code Online (Sandbox Code Playgroud)