0

我正在尝试创建一个多维数组,并且有点停留在它的格式上:

activity[currentAccount] = {
        date: aDate,
        id: aID,
        ip: aIP,
        vid: aVID,
        actor: aActor,
        action: aAction,
        data: aActionData
    };

这目前在我的脚本中,它将所有这些数据推送到数组中。

但是,对于 30 条记录,currentAccount 可能相同,因此我需要能够像这样访问它:activity['1234']['action'][0]<-- 这是数组中帐户的第一组值1234

我需要更改存储初始数据的方式还是只需要以特定方式访问它?

谢谢

4

2 回答 2

0

您应该设置activity[currentAccount]为一组对象。

像这样的东西:

activity[currentAccount] = [
    {
        date: aDate[0],
        id: aID[0],
        ip: aIP[0],
        vid: aVID[0],
        actor: aActor[0],
        action: aAction[0],
        data: aActionData[0]
    },
    {
        date: aDate[1],
        id: aID[1],
        ip: aIP[1],
        vid: aVID[1],
        actor: aActor[1],
        action: aAction[1],
        data: aActionData[1]
    }
];

然后你可以像这样访问它:activity[currentAccount][1].action.

于 2013-10-14T15:37:48.623 回答
0

你应该像这样存储它

activity[currentAccount] = [];
first = {
        date: aDate,
        id: aID,
        ip: aIP,
        vid: aVID,
        actor: aActor,
        action: aAction,
        data: aActionData
    };

activity[currentAccount][0] = first;    //either
activity[currentAccount].push(first);   //or

要访问它,请使用activity['1234'][0]['action']not activity['1234']['action'][0],因为活动有多个值而不是操作。

您也可以使用对象容器 ( {}),这将允许您使用有效的标识符名称。但是由于您要求像 0,1,2,3... 这样的索引。(那时你不能使用 push 和 length )。

于 2013-10-14T15:38:03.967 回答