我正在尝试创建一个多维数组并且稍微停留在其格式上:
activity[currentAccount] = {
date: aDate,
id: aID,
ip: aIP,
vid: aVID,
actor: aActor,
action: aAction,
data: aActionData
};
目前在我的脚本中,它将所有这些数据推送到数组。
但是,currentAccount对于30条记录可能是相同的,所以我需要能够像这样访问它:activity['1234']['action'][0]
< - 这是帐户1234
的第一组值在阵列中。
我是否需要更改存储初始数据的方式或仅需要以特定方式访问它?
谢谢
答案 0 :(得分: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
。
答案 1 :(得分: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']
而不是activity['1234']['action'][0]
,因为活动有多个值而不是操作。
您也可以使用对象容器({}
),这将允许您使用有效的标识符名称。但是因为你要求索引像0,1,2,3 .. (你不能使用push和length)。