Mam tablice obiektów głęboko zagnieżdżonych. Chciałbym napisać funkcję wyodrębniania dowolnych obiektów podrzędnych z tych tablic. W niektórych przypadkach wartości zagnieżdżonych właściwości to wartości i obiekty, w innych przypadkach są to tablice.Wyodrębniaj głęboko zagnieżdżone obiekty podrzędne za pomocą nazwy właściwości z domieszką
Przykłady tablic są poniżej:
[{parent: {level1: {level2: 'data'}}}]
[{parent: {level1: [{level2: {...}}, {level2: {...}}, {level2: {...}}]}}]
[{parent: {level1: [{level2: {level3: 'data'}}, {level2: {..}}, {level2: {..}}]}}]
Wywołanie funkcji ekstrakcji na takiej tablicy powinna spowodować tablicę obiektów, które są zainteresowani
Przykładowe wywołanie funkcji i jej wyników. dla przykładu tablic powyżej:
extractChildren(source, 'level2') = [{level2: 'data'}]
extractChildren(source, 'level2') = [{level2: {...}, level2: {...}, level2: {...}]
extractChildren(source, 'level3') = [{level3: 'data'}]
Czy istnieje zwięzły sposób, aby osiągnąć ten cel z lodash
czy powinienem użyć regularne JavaScript iterować przez właściwości?
P.S. Potraktujcie to jako ekwiwalent XPath select all nodes with the name "nodename"
Ty powinien al więc wyjaśnij przykład, jakie obiekty potomne powinny zostać wyodrębnione, szczególnie w odniesieniu do tego, jak powinien wyglądać wynik, jeśli jeden potencjalny cel zawiera inny potencjalny cel. – Tomalak
Pokaż więcej, proszę. Czy możesz podać oczekiwany sygnał wejściowy, "wywołanie" i oczekiwany wynik? –
dodano więcej informacji – krl