У меня есть вложенный объектдлинная строка в вложенном объекте
[
{
"name": "Americas",
"categories": [
"No Product Assigned",
"Accessories",
"AP - Apparel",
"FW - Footwear"
]
},
{
"name": "Europe and Middle east",
"categories": [
"No Product Assigned",
"Accessories",
"AP - Apparel",
"FW - Footwear"
]
}
]
где категории могут содержать дополнительные вложения по имени и категории,
до сих пор я ве удалось получить глубину и список все элементы в объекте с использованием
_depthOfCategory = function(object) {
var levelObj = {
level : 0,
name : []
};
var key;
for (key in object) {
if (object[key].name) {
levelObj.name.push(object[key].name);
} else if (typeof (object[key]) === "string") {
levelObj.name.push(object[key]);
}
if (!object.hasOwnProperty(key)) {
continue;
}
if (typeof object[key] === 'object') {
var child = this._depthOfCategory(object[key]);
var depth = child.level + 1;
levelObj.level = Math.max(depth, levelObj.level);
levelObj.name = child.name.concat(levelObj.name);
}
}
return levelObj;
};
где levelObj.length = общая глубина; levelObj.name = объединенный список всех элементов.
Любые идеи о том, как ниже результат может быть достигнут
result[0] = "Europe and Middle east"
result [1] = " No Product Assigned"
которые являются длинные строки в соответствующих глубинах.