Você precisa primeiro entender a estrutura de forma geral, a partir daí fica mais fácil saber o que fazer.
O que temos é um array (delimitado por [ ]
), e ele tem dois elementos:
[ <-- delimita um array
// primeiro elemento do array
{ id: 1, nome: "Texto 01", arr: [{ id: 2, nome: "Texto 02" }, { id: 3, nome: "Texto 03" }] },
// segundo elemento do array
{ id: 4, nome: "Texto 04", arr: [{ id: 5, nome: "Texto 05" }, { id: 6, nome: "Texto 06" }] }
] <-- fim do array
Então você quer criar outro array, sendo que cada elemento tem somente a chave arr
dos elementos originais. Ou seja:
const dados = [
{ id: 1, nome: "Texto 01", arr: [{ id: 2, nome: "Texto 02" }, { id: 3, nome: "Texto 03" }] },
{ id: 4, nome: "Texto 04", arr: [{ id: 5, nome: "Texto 05" }, { id: 6, nome: "Texto 06" }] }
];
const result = [];
// para cada elemento do array
for (const item of dados) {
// pega somente a chave "arr" e adiciona nos resultados
result.push({ arr: item.arr });
}
Outra opção, usando map
:
const result = dados.map(function(item){
return { arr: item.arr };
});
No caso, map
recebe uma função que é executada para cada elemento do array original. E esta função retorna um objeto contendo somente a chave arr
.