[JavaScript] Zagnieżdżanie pętli for in
Grzegorz Sumara
4/27/2017 | 11:42 AM

Witam Chciałbym się dowiedzieć jak wygląda zagnieżdżanie pętli for in np jest taki obiekt var person = { "imię": "Grzegorz", "nazwisko": "Sumara", "wiek": 30, "język programowania": { "html": "HTML", "css": "CSS", "JavaScript": "JavaScript", "jQuery": "jQuery", "Angular": { "Old Version": 1, "New Version": 2 } } }; jak zrobić w pętli for in żeby to wyświetlało dane język programowania i angular

Piotr Palarz
5/9/2017 | 11:51 PM

Iterując po obiekcie można natrafić na kolejne obiekty wewnątrz, dlatego sprawdzam to przygotowaną funkcją isObject. Jeśli dany element jest obiektem, to wywołuję na nim ponownie funkcję w sposób rekurencyjny, czyli też po wszystkich jego kluczach przeiterujemy. Dzięki temu obiekt może być zagnieżdżony, a i tak "przelecimy" przez wszystkie jego dane.

Grzegorz Sumara
4/27/2017 | 2:57 PM

Dziękuję za przykład teraz mogę zrozumieć jak ma wyświetlić ale tego kodu nie mogę zrozumieć Czy może mi Pan wytłumaczyć czemu jest wstawiony kod i co robi oznaczone strzałką "<--" for(var key in obj) { if( isObject(obj[key]) ) { console.log(key + ":"); displayData(obj[key]); <-- continue; <-- } console.log(key + ": " + obj[key]);

Piotr Palarz
4/27/2017 | 2:05 PM

W tym przykładzie zrobiłem tak, że wyświetla wszystkie dane niezależnie od poziomu zagnieżdżenia: https://pastebin.com/8kxnBU20