JavaScript

Converter array de objetos para array de arrays em JavaScript

12 de fevereiro de 2021

Converter array de objetos para array de arrays em JavaScript

Neste artigo você vai aprender a como converter array de objetos para array de arrays em JavaScript, de um modo muito simples!

Converter array de objetos para array de arrays capa

Fala programador(a), beleza? Bora aprender mais sobre arrays e objetos em JavaScript!

Vamos então primeiro criar nossa estrutura de array com objetos, veja:

var arrObj = [
	{id: 1, nome: "Matheus"},
  {id: 2, nome: "Pedro"},
  {id: 3, nome: "Maria"}
];

Agora o nosso objetivo é converter este array que contém objetos para um array com conjuntos dentro

Veja o código necessário:

var arr = arrObj.map(function(obj) {
    return Object.keys(obj).map(function(key) {
        return obj[key];
    });
});

console.log(arr);

Com este código você pode converter o dado original para um array com arrays dentro

Utilizamos a função map de JavaScript para nos ajudar, com ela conseguimos passar por cada um dos objetos do array

Desta maneria realizamos outro map para acessar a chave do objeto e assim compor o nosso array final, um array com arrays dentro

Conseguimos resolver então o problema apenas utilizando JavaScript puro, de maneira muito rápida e fácil

Vale lembrar também que agora você vai precisar acessar os itens de maneira diferente de quando era um objeto, utilizando a sintaxe de array

E note também que com esta função que criamos a estrutura original não foi modificada, criamos uma variável totalmente nova com os dados, então você ainda possui acesso a antiga

Conclusão

Neste artigo você aprendeu a como converter array de objetos para array de arrays

Ou seja, alterar a estrutura de dados interna de um array

Utilizamos a função map de JavaScript para nos auxiliar a percorrer todos os itens do primeiro array e compor o array final

Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube

Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x