jQuery将多个对象推送到数组
我正在努力实现的目标:jQuery将多个对象推送到数组,jquery,arrays,object,Jquery,Arrays,Object,我正在努力实现的目标: 为每个国家/地区的“项目位置”创建一个数组,并以“项目位置”为键推送对象值 例如 [{USA:1},{USA:2}], [{UK:1},{UK:2}], [{CUBA:1},{CUBA:2}] [ { USA: {"Activity/Adventure": 1, "Beach Escape": 2}, UK: {"Activity/Adventure": 1, "Beach Escape": 2}, CUBA: {"Activity/Adventure
为每个国家/地区的“项目位置”创建一个数组,并以“项目位置”为键推送对象值 例如
[{USA:1},{USA:2}], [{UK:1},{UK:2}], [{CUBA:1},{CUBA:2}]
[
{
USA: {"Activity/Adventure": 1, "Beach Escape": 2},
UK: {"Activity/Adventure": 1, "Beach Escape": 2},
CUBA: {"Activity/Adventure": 1, "Beach Escape": 2}
}
]
或
例如
[{USA:1},{USA:2}], [{UK:1},{UK:2}], [{CUBA:1},{CUBA:2}]
[
{
USA: {"Activity/Adventure": 1, "Beach Escape": 2},
UK: {"Activity/Adventure": 1, "Beach Escape": 2},
CUBA: {"Activity/Adventure": 1, "Beach Escape": 2}
}
]
当前问题:
对象键显示“item\u location”,而不是选择“item\u location”变量值“item.location”
var filter = [];
for(var ix = 0; ix < jsonData.length; ix++)
{
var item = jsonData[ix];
var item_location = item.Location;
var item_ = [{item_location:item["Activity/Adventure"]},{item_location:item["Beach Escape"]}];
filter.push({item_});
}
console.log(filter);
var过滤器=[];
对于(var ix=0;ix
ANWSER:
function filterData(){
var filter = [];
for(var ix = 0; ix < jsonData.length; ix++)
{
var item = jsonData[ix];
var item_location = item.Location;
var item1 = {}, item2= {};
item1[item_location] = item["Activity/ Adventure"];
item2[item_location] = item["Beach Escape"];
var item_ = [item1, item2];
filter.push(item_);
}
console.log(filter);
}
函数filterData(){
var过滤器=[];
对于(var ix=0;ix
键是项目位置
,因为这是您设置的。不能将变量用作对象文字中的键名
您需要创建一个新对象,然后使用obj[key]
语法添加键
var item_location = item.Location;
var item1 = {}, item2= {};
item1[item_location] = item["Activity/Adventure"];
item2[item_location] = item["Beach Escape"];
var item_ = [item1, item2];
filter.push(item_);
是一个数组还是多个数组,每个数组包含两个对象?那么
jsonData
对象包含什么呢?这里肯定回答了这个问题。但是一个快速的解决方案是:使用item\u[item\u location]=item[“.”]
。。等等这里您将丢失:var item=jsonData[ix];但是,一旦添加了这个,它就完美地工作了!谢谢。@adamkwadsworth:不客气。我想我只是错过了复制和粘贴原始问题中的几行:-P