我有一个json,我想根据'zone'字段进行解析,以便通过select输入获得区域等列表。
var data = {
"zone01": [{
"region": "North",
"state": "New York",
"county": "Albany",
"code": "01"
}, {
"region": "North",
"state": "New York",
"county": "Albany",
"code": "05"
}, {
"region": "North",
"state": "Maine",
"county": "Auburn",
"code": "07"
}],
"zone02": [{
"region": "South",
"state": "Florida",
"county": "Gainseville",
"code": "82"
}, {
"region": "South",
"state": "Florida",
"county": "Macclenny",
"code": "73"
}]
};
我可以使用以下方法解析它:
function setValues(range, zone, region, state, country){
if(range === 'zone'){
var getRegions = _.groupBy(data.zone02, 'region');
$.each(getRegions, function(k, v){
var region = JSON.stringify(k);
region = region.replace(/"/g,'');
$('select#region').append('<option value="'+region+'">'+region+'</option>');
});
}
}
但我真正需要的是_.groupBy(data.zone02,'region'),data.zone02是数据+函数的变量区域
更新
这是我的成品,无可读性和可重复使用性:jsFiddle
答案 0 :(得分:1)
使用括号表示法使用变量引用属性。
data[zone]