Javascript: How to get an array of objects inside a child from an array of objects

-1

I have the following sample object:

const empresa = {
    nome: 'Tal tal',
    endereco: 'taltaltal',
    groupos: [
        {
        nome: 'taltaltal',
        codenome: 'tal',

        as: [
            {
                nome: 'grupo a',
                apelido: 'ga'
            },
            {
                nome: 'grupo a',
                apelido: 'ga'
            },
            {
                nome: 'grupo a',
                apelido: 'ga'
            },
            {
                nome: 'grupo a',
                apelido: 'ga'
            },
        ]
    },
    {
        nome: 'taltaltal',
        codenome: 'tal',

        as: [
            {
                nome: 'grupo a',
                apelido: 'ga'
            },
            {
                nome: 'grupo a',
                apelido: 'ga'
            },
            {
                nome: 'grupo a',
                apelido: 'ga'
            },
            {
                nome: 'grupo a',
                apelido: 'ga'
            },
        ]
    },
    {
        nome: 'taltaltal',
        codenome: 'tal',

        as: [
            {
                nome: 'grupo a',
                apelido: 'ga'
            },
            {
                nome: 'grupo b',
                apelido: 'gb'
            },
            {
                nome: 'grupo c',
                apelido: 'gc'
            },
            {
                nome: 'grupo d',
                apelido: 'gd'
            },
        ]
    },
],

}

I would like to get the array of object-groups:

grupos: [
   ...
   as: {
      ...
   }
]
    
asked by anonymous 05.09.2018 / 14:14

2 answers

1

Following the const structure of the company.

If you want to get all as from the list groupos :

for (let grupo of empresa.groupos) { 
    console.log(grupo.as);
}

If you want to filter by group codename:

for (let grupo of empresa.groupos) { 
   if (grupo.codenome === "tal") {
      console.log(grupo.as);
      break;
   }
}

You can also get the list item using the position index:

console.log(empresa.groupos[0].as);

There's also the good old for loop basic:

for (let indice = 0; indice < empresa.groupos.length; indice++) {
    const grupo = empresa.groupos[indice];
    console.log(grupo.as);
}

There are also other ways to scan an array in addition to for...of

    
05.09.2018 / 15:33
-1

You can create an array with only the elements as :

var grupos = [];

$.each(empresa.groupos, function(index, element) {
    grupos.push(element.as);
});
    
05.09.2018 / 14:18