Как преобразовать данный объект:
{
"Me": 11,
"Children": {
"Mike": {
"Tom": 12
},
"Sister": {
"Mary": 15
}
}
}
в плоский объект:
{
"Me" : 11,
"ChildrenMikeTom" : 12,
"ChildrenSisterMary" : 15
}
Пробегаете по полям объекта при помощи цикла for in
, определяете тип поля при помощи typeof
и если тип object
, то запускаете поиск рекурсивно
var obj = {
"Me": 11,
"Children": {
"Mike": {
"Tom": 12
},
"Sister": {
"Mary": 15
}
}
};
function merge(AObj, APrfx) {
var res = [];
for (var i in AObj) {
if (typeof AObj[i] === 'object')
res = res.concat(merge(AObj[i], APrfx + i));
else
res.push({name: APrfx + i, val: AObj[i]});
}
return res;
}
var arr = merge(obj, '');
var res = {};
for (var i in arr) {
res[arr[i].name] = arr[i].val;
}
console.log(res);
Какие существуют виды рекламных бордов и как выбрать подходящий?
Аренда удаленного сервера: цены, провайдеры и условия. Руководство для начинающих
ЗдравствуйтеХочу реализовать разные типы объявлений Adsense на разных экранах