Objetos Aninhados e Arrays em Objetos - JavaScript

Em JavaScript, objetos podem conter outros objetos como propriedades. Por exemplo, considere um objeto que representa um país, que tem várias propriedades, incluindo uma para sua capital. A capital, por sua vez, possui suas próprias propriedades, como nome, população e ano de fundação:

const country = {
    name: "Alemanha",
    language: "alemão",
    capital: {
        name: "Berlim",
        population: 3375000,
        year: 1237
    }
};

console.log("Capital:", country.capital.name); // Berlim
console.log("População:", country["capital"]["population"]); // 3375000
console.log("Ano de fundação:", country.capital["year"]); // 1237

Para acessar as propriedades desses objetos aninhados, você pode usar a notação de ponto:

console.log("Capital:", country.capital.name); // Berlim

Ou acessá-las como se fossem elementos de um array:

console.log("População:", country["capital"]["population"]); // 3375000

É possível também usar uma abordagem mista:

console.log("Ano de fundação:", country.capital["year"]); // 1237

Arrays também podem ser usados como propriedades de objetos, inclusive arrays de outros objetos:

const country = {
    name: "Suíça",
    languages: ["alemão", "francês", "italiano"],
    capital: {
        name: "Berna",
        population: 126598
    },
    cities: [
        { name: "Zurique", population: 378884 },
        { name: "Genebra", population: 188634 },
        { name: "Basel", population: 164937 }
    ]
};

console.log("Línguas oficiais da Suíça");
for(const lang of country.languages) {
    console.log(lang);
}
console.log("\n"); // para separar as línguas das cidades

console.log("Cidades da Suíça");
for(const city of country.cities) {
    console.log(city.name);
}

Neste objeto country, a propriedade languages contém um array de strings, e a propriedade cities armazena um array de objetos. Esses arrays podem ser manipulados como qualquer outro, por exemplo, percorrendo-os com um laço for. Ao iterar um array de objetos, cada elemento representa um objeto separado, permitindo acesso às suas propriedades e métodos:

for(const city of country.cities) {
    console.log(city.name);
}

// Ou usando outro tipo de laço for para percorrer todos os elementos do array:
for(let i = 0; i < country.cities.length; i++) {
    console.log(country.cities[i].name);
}

Esses exemplos mostram como o JavaScript permite estruturas de dados complexas através do uso de objetos e arrays aninhados, facilitando a organização e manipulação de dados relacionados.

Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com