У меня есть массив объектов в формате ниже:конденсацию объект массива рекурсивно в JavaScript
{
"country": "India",
"children": [
{
"name": "Karnataka",
"type": "State",
"children": [
{
"name": "",
"type": "city"
},
{
"name": "Bangalore",
"type": "city"
},
{
"name": "Mangalore",
"type": "city"
}
]
},
{
"name": "Kerala",
"type": "State",
"children": [
{
"name": "",
"type": "city"
}
]
},
{
"name": "Maharashtra",
"type": "State",
"children": [
{
"name": "Mumbai",
"type": "city"
},
{
"name": "Pune",
"type": "city"
}
]
}
]
}
Каждый объект имеет элемент детей, который содержит детали элемента. Мне нужно рекурсивно перебирать объект
json
и удалять все узлы, name
- пустая строка до корня. Для приведенного выше формата JSON, вывод должен быть, как показано ниже:
{
"country": "India",
"children": [
{
"name": "Karnataka",
"type": "State",
"children": [
{
"name": "Bangalore",
"type": "city"
},
{
"name": "Mangalore",
"type": "city"
}
]
},
{
"name": "Kerala",
"type": "State",
"children": [
]
},
{
"name": "Maharastra",
"type": "State",
"children": [
{
"name": "Mumbai",
"type": "city"
},
{
"name": "Pune",
"type": "city"
}
]
}
]
}
Как это сделать в JavaScript рекурсивно с помощью Underscorejs.
'Array # map' ..? – Rayon
@ RayonDabre-мне кажется * reduceRight * и удалять нежелательные участники лучше, но у underscore.js есть что? Если нет, есть встроенный. – RobG
[Этот вопрос SO] (http://stackoverflow.com/questions/36171667/find-and-remove-empty-properties-from-objects/36171824) может помочь вам – Aides