Имам данни в следния формат:
Елемент 1: „Европа > Германия > Берлин > Главен офис“ (обект)
Елемент 2: „Америка > Съединени щати > щаб” (обект)
Елемент 3: „Америка > Съединени щати > Ню Йорк > Главен офис“ (обект)
Елемент 4: „Америка > Съединени щати > Ню Йорк > Подофис” (обект)
Елемент 5: „Обединено кралство > Англия > Лондон > Главен офис“ (обект)
Първо се опитвам да разделя масива на базата на знака ">" и да създам дърво от всички елементи в следния формат (ванилен js/es6):
"Europe": {
"Germany": {
"Berlin": {
"Main Office": "Object"
}
}
},
Моят опит:
Array.prototype.slice.call(elements).forEach((el) => {
let
stringIHave = el.name, // "Europe > Germany > Berlin > Main Office"
keywordsArr = stringIHave.split( " > " ),
arrayTree = new Array();
Array.prototype.slice.call(keywordsArr).forEach((subEl) => {
//arrayTree.push(el.toString()); // Result: {"Europe", "Germany", "Berlin", "Main Office" }
// What I'm Seeking:
// "Europe": { "Germany": { "Berlin": { "Main Office": "Object" } } },
});
});
След като форматираме данните, трябва да намерим обединението (или един единствен масив) на всички масиви, както е показано по-долу:
[
"Europe": {
"Germany": {
"Berlin": {
"Main Office": "Object"
}
}
},
"America": {
"United States": {
"Headquarters",
"NY": {
"Main Office": "Object",
"Sub Office": "Object"
}
}
},
"United Kingdom": {
"England": {
"London": {
"Main Office": "Object"
}
}
}
]
Опитвам се да използвам Array.from(new Set(masterArray))
за намиране на обединението на всички масиви, но няма зарове!
{ "Main Office" }
не е валиден тип данни, нито е обект. Обектите трябва да са двойки ключ-стойност. - person Addis   schedule 14.02.2020"Main Office": "Object"
? - person Addis   schedule 14.02.2020