В моем маленьком приложении, у меня есть функция, возвращающая древовидную данные:Получение списка уникальных элементов из дерева, как объект
function getData() {
return {
"name": "fish",
"children": [{
"name": "mussels & clams",
"children": [{
"name": "fennel",
"size": 1
}, {
"name": "garlic",
"size": 1
}, {
"name": "lemon",
"size": 1
}, {
"name": "onion",
"size": 1
}, {
"name": "parsley",
"size": 1
}, {
"name": "pasta",
"size": 1
}, {
"name": "rice",
"size": 1
}, {
"name": "soup",
"size": 1
}, {
"name": "tomato",
"size": 1
}]
}, {
"name": "octopus",
"children": [{
"name": "bay",
"size": 1
}, {
"name": "chilli",
"size": 1
}, {
"name": "lemon",
"size": 1
}, {
"name": "olive oil",
"size": 1
}, {
"name": "paprika",
"size": 1
}, {
"name": "parsley",
"size": 1
}, {
"name": "pine nuts",
"size": 1
}]
}, {
"name": "oysters",
"children": [{
"name": "asparagus",
"size": 1
}, {
"name": "bacon",
"size": 1
}, {
"name": "butter",
"size": 1
}, {
"name": "cellery",
"size": 1
}, {
"name": "chives",
"size": 1
}, {
"name": "garlic",
"size": 1
}, {
"name": "lemon",
"size": 1
}, {
"name": "mozzarella",
"size": 1
}, {
"name": "onion",
"size": 1
}, {
"name": "pasta",
"size": 1
}, {
"name": "parsley",
"size": 1
}, {
"name": "shallot",
"size": 1
}]
}, {
"name": "pink fish",
"children": [{
"name": "balsamic vinegar",
"size": 1
}, {
"name": "chives",
"size": 1
}, {
"name": "cream",
"size": 1
}, {
"name": "dill",
"size": 1
}, {
"name": "garlic",
"size": 1
}, {
"name": "ham",
"size": 1
}, {
"name": "honey",
"size": 1
}, {
"name": "lemon",
"size": 1
}, {
"name": "lime",
"size": 1
}, {
"name": "mild cheese",
"size": 1
}, {
"name": "miso",
"size": 1
}, {
"name": "potato",
"size": 1
}, {
"name": "sesame",
"size": 1
}, {
"name": "soy souce",
"size": 1
}, {
"name": "spinach",
"size": 1
}, {
"name": "thyme",
"size": 1
}]
}, {
"name": "shrimp",
"children": [{
"name": "coriander",
"size": 1
}, {
"name": "curry",
"size": 1
}, {
"name": "ginger",
"size": 1
}, {
"name": "lemon",
"size": 1
}, {
"name": "lime",
"size": 1
}, {
"name": "lobster",
"size": 1
}, {
"name": "parsley",
"size": 1
}, {
"name": "soft cheese",
"size": 1
}, {
"name": "tomato",
"size": 1
}]
}, {
"name": "smoked fish",
"children": [{
"name": "asparagus",
"size": 1
}, {
"name": "butter",
"size": 1
}, {
"name": "eggs",
"size": 1
}, {
"name": "lemon",
"size": 1
}, {
"name": "mandarin",
"size": 1
}, {
"name": "mild cheese",
"size": 1
}, {
"name": "mushrooms",
"size": 1
}, {
"name": "onion",
"size": 1
}, {
"name": "potato",
"size": 1
}, {
"name": "spring onion",
"size": 1
}]
}, {
"name": "squid",
"children": [{
"name": "bacon",
"size": 1
}, {
"name": "courgette",
"size": 1
}, {
"name": "cumin",
"size": 1
}, {
"name": "garlic",
"size": 1
}, {
"name": "lemon",
"size": 1
}, {
"name": "lime",
"size": 1
}, {
"name": "onion",
"size": 1
}, {
"name": "parsley",
"size": 1
}, {
"name": "peper",
"size": 1
}, {
"name": "rocket",
"size": 1
}, {
"name": "thyme",
"size": 1
}]
}, {
"name": "sushi",
"children": [{
"name": "coriander",
"size": 1
}, {
"name": "couscous",
"size": 1
}, {
"name": "cucumber",
"size": 1
}, {
"name": "ginger",
"size": 1
}, {
"name": "lemon",
"size": 1
}, {
"name": "lime",
"size": 1
}, {
"name": "pepper",
"size": 1
}, {
"name": "rice",
"size": 1
}, {
"name": "sesame",
"size": 1
}, {
"name": "soya souce",
"size": 1
}, {
"name": "spring onion",
"size": 1
}, {
"name": "wasabi",
"size": 1
}]
}, {
"name": "white fish",
"children": [{
"name": "butter",
"size": 1
}, {
"name": "courgette",
"size": 1
}, {
"name": "gream",
"size": 1
}, {
"name": "fennel",
"size": 1
}, {
"name": "french beans",
"size": 1
}, {
"name": "garlic",
"size": 1
}, {
"name": "leak",
"size": 1
}, {
"name": "lemon",
"size": 1
}, {
"name": "lime",
"size": 1
}, {
"name": "mild cheese",
"size": 1
}, {
"name": "onion",
"size": 1
}, {
"name": "parsley",
"size": 1
}, {
"name": "soup",
"size": 1
}, {
"name": "soya souce",
"size": 1
}, {
"name": "tomato",
"size": 1
}]
}, {
"name": "caviar",
"children": [{
"name": "chives",
"size": 1
}, {
"name": "eggs",
"size": 1
}, {
"name": "sour cream",
"size": 1
}, {
"name": "strong cheese",
"size": 1
}]
}, {
"name": "lobster & crab",
"children": [{
"name": "chili",
"size": 1
}, {
"name": "coriander",
"size": 1
}, {
"name": "fennel",
"size": 1
}, {
"name": "ginger",
"size": 1
}, {
"name": "leek",
"size": 1
}, {
"name": "mayonnaise",
"size": 1
}, {
"name": "parsley",
"size": 1
}, {
"name": "pasta",
"size": 1
}, {
"name": "peas",
"size": 1
}, {
"name": "rice",
"size": 1
}, {
"name": "sesame",
"size": 1
}, {
"name": "soy sauce",
"size": 1
}, {
"name": "wasabi",
"size": 1
}]
}]
};}
Данные визуализируются как это:
Адрес jsfiddle.
Я хотел бы создать список меток в правой части основной диаграммы, который будет содержать все значения, которые находятся в листьях дерева, но каждый из них один раз. Другими словами, она должна содержать:
- "спаржа"
- "бекон"
- "бальзамический уксус"
- и так далее
(как "союз" всех листья)
Как получить этот массив с уникальными элементами?
(Отображение меток не является проблемой для меня когда-то у меня есть этот массив)
Ура!
Это действительно круто (прилавки)! Благодаря! – VividD