Javascript - 具有键值对的对象,其中值是一个数组

标签 javascript arrays object data-structures

我正在尝试创建一个对象,其中有一个键值对,并且该值是一个数组。

即:

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/

相关文章:

c# - 在 PropertyGrid 中的对象内部编辑对象的属性

javascript - Node.js 与 mySQL -> 连接拒绝 127.0.0.1 : 3306

javascript - 从远程服务器调用 JavaScript 函数

javascript - 如何让 node.js 和 Mocha 在浏览器中运行(测试)?

ruby - 从 map 返回多个值

java - Java 中的数组赋值和引用

c# - 索引超出范围错误,如果不是

javascript - 为什么使用缓冲区转换日期格式比使用字符串操作慢?

javascript - Jquery - 编辑对象参数

javascript - 数组的对象键