我想迭代一组对象来创建一个对象,该对象的属性以迭代中的当前对象命名,其值使用当前的数据。
$.each(data, function(idx, obj) {
baseLayers[idx] = new Array();
baseLayers[idx][obj.name] = new L.TileLayer(obj.url, {maxZoom: 18, id: obj.key, attribution: mbAttr});
});
最后,我想得到像这样的结果
baseLayers = {
'Map Box': new L.TileLayer('https://{s}.tiles.mapbox.com/v3/{id}/{z}/{x}/{y}.png', {maxZoom: 18, id: 'examples.map-i875mjb7', attribution: mbAttr}),
'OSM': new L.TileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {maxZoom: 18, attribution: mbAttr})
};
最佳答案
试试这个
var baseLayers = {}
$.each(data, function(idx, obj) {
baseLayers[obj.name] = new L.TileLayer(obj.url, {maxZoom: 18, id: obj.key, attribution: mbAttr});
});
关于jquery - 将对象数组转换为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28783936/