Javascript 为数组指定两个动态键
我已经试了一个小时了,但我想不出来 我有这个:Javascript 为数组指定两个动态键,javascript,coffeescript,Javascript,Coffeescript,我已经试了一个小时了,但我想不出来 我有这个: data = [ { "_id": { "cid": "gbrzjauzju", "source": "iwowrzlocc" }, "revenue": 0, "leads": 484, "count": 25400 }, { "_id": { "cid"
data = [
{
"_id": {
"cid": "gbrzjauzju",
"source": "iwowrzlocc"
},
"revenue": 0,
"leads": 484,
"count": 25400
},
{
"_id": {
"cid": "lewyhgnnhz",
"source": "iwowrzlocc"
},
"revenue": 0,
"leads": 166,
"count": 9821
},
]
我使用['cid','source']作为变量过滤器传入过滤器,因此我可以作为过滤器[0]过滤器[1]访问它
我想做的是:
arr = {}
for item in data
arrdata =
revenue: item.revenue
leads: item.leads
clicks: item.count
arr['results'][item._id.filters[0]][item._id.filters[1]] = arrdata
我想将cid和source的值设置为key name作为key name,如下所示:
results =
iwowrzlocc =
lewyhgnnhz =
revenue: 0
leads: 166
clicks: 9821
gbrzjauzju =
revenue: 0
leads: 484
clicks: 25400
我到底要如何做到这一点?提前谢谢你 您是否尝试不在项中使用“点语法”。\u id.filters[0] 如果我是你,我会尝试分割最后一句话:
var arr = {};
var item_results = {};
var item_cid = {};
for (i in data) {
var item = data[i];
var array_data = {
revenue: item.revenue,
leads: item.leads,
count: item.count
};
item_cid[item._id[filters[1]]] = array_data;
item_results[item._id[filters[0]]] = item_cid;
};
arr['results'] = item_results;
只是为了让事情更具可读性,更容易识别代码中可能存在的问题。我希望我能在某些方面帮助你!:) 非常感谢你!成功了,我以后会记得的。把它保存在我的笔记中,再次感谢。它实际上为每个cid添加了相同的值(收入、点击、潜在客户),为什么?它们在数组中是不同的。不明白为什么会这样