0
我使用Object.keys來做我的對象數組的一些關鍵分配。但是它爲每次迭代返回了獨特的對象,所以我的4個項目變成了2.任何避免這種情況的方法?使用對象數組的Object.keys
var cityIdmap = {};
var bpidmap = {
'7': {
cityid: 2,
bpid: 7,
name: 'Puduraya',
time: '+00:00',
sbpid: 50169
},
'11': {
cityid: 1,
bpid: 11,
name: 'Golden Mile Tower',
time: '+00:00',
sbpid: 50172
},
'12': {
cityid: 2,
bpid: 12,
name: 'Berjaya Times Square',
time: '+00:00',
sbpid: 50171
},
'66': {
cityid: 1,
bpid: 66,
name: 'Textile Centre',
time: '+00:00',
sbpid: 50170
}
};
Object.keys(bpidmap).forEach(function(item) {
var bp = bpidmap[item];
cityIdmap[bp.cityid] = {};
cityIdmap[bp.cityid][bp.bpid] = bp;
});
document.write(JSON.stringify(cityIdmap));
圓滑的解決方案!但是我們必須在這裏使用typeof嗎? –
@HarisZ爲什麼不呢?什麼讓你困惑? –
@HarisZ:你也可以使用'if(!(bp.cityid in cityMap))'或者'if(!cityMap [bp.cityid])'或者其他任何東西。 – Bergi