Tengo este árbol.
Es un objeto multidimensional. Cada nodo tiene a lo sumo dos propiedades, que son data
y children
.
He aquí un ejemplo:
{Account: { data: ['stuff'], children: {
share: {data: ['stuff'], children: {
share name: {},
share hold: { data: ['stuff'] }
}},
card: { children: {
card_access: { data: ['stuff'] }
}},
loan: { children: {
loan_name: {}
}}
}}
Necesito quitar todos los nodos que no tienen un data
atributo y no tienen ningún niños con un data
atributo.
Así, el ejemplo anterior se convertiría en:
{Account: { data: ['stuff'], children: {
share: {data: ['stuff'], children: {
share hold: { data: ['stuff'] }
}},
card: { children: {
card_access: { data: ['stuff'] }
}},
}}
¿Cuál es la forma más concisa para lograr esto en JS?