javascript:推送到多维数组(名称关联)

时间:2014-04-08 08:50:13

标签: javascript arrays

我想创建一个数组:

myarray:array [
 "test1" = [
    [0] = 
     {
      name: "mike",
      friend: "tom"
     }
    ]
 ]
 "test2": [
    [0] = 
     {
      name: "mike",
      friend: "tom"
     }
    ],
    [1] = 
     {
      name: "mike",
      friend: "tom"
     }
    ]
 ]
]

我如何动态添加对象?

在php中我会做那样的事情:

$content = {name: "robert", friend: "mike"}
$myarray[$group][] = $content; // Group is the dynamic element

在Javascript中我试试这个:

myarray[group].push({
 name: "mike", friend: "-"
})
// group is the dynamic element

但他在第一次通话中无法使用无法调用未定义的方法。

我不知道有多少“组”,所以我不能用所有组初始化数组。

1 个答案:

答案 0 :(得分:2)

使用object而不是数组来保存信息:

示例:

function addUser(users, user, group) {
  if (!users[group]) {
     users[group] = [];
  }
  users[group].push(user);
  return users;
}

var users = {};

users = addUser(users, {name: "mike", friend: "-"}, 'test1');