Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

152
Visualizações
Analice los elementos anidados de una matriz en la matriz principal

¿Cuál es la forma más eficiente de mover los elementos dentro de la parte anidada de la matriz interna hacia la matriz principal?

Ejemplo: [1,[2,3],4] -> [1,2,3,4]

mi intento

 var old_arr = ["one", ["two", "three"], "four"]; var new_arr = []; function arrayfix(arr) { for (var i = 0; i < arr.length; i++) { if (typeof arr[i] == typeof {}) { //checks to see if it's an object for (var j = 0; j < Object.keys(arr[i]).length; j++) { new_arr.push(arr[i][j]); } } new_arr.push(arr[i]); } return new_arr; } console.log(arrayfix(old_arr));

resultado real

 [ 'one', 'two', 'three', [ 'two', 'three' ], 'four' ]

resultado deseado

 [ 'one', 'two', 'three', 'four' ]
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Hay una función de prototipo incorporada en Array llamada plana para ese propósito.

Un parámetro: el nivel de profundidad que especifica la profundidad a la que se debe aplanar una estructura de matriz anidada. El valor predeterminado es 1.

flat() aplanará un 2D a 1D flat(2) aplanará un 3D a 1D.

 var old_arr= ["one",["two","three"],"four"]; console.log(old_arr.flat());

about 4 years ago · Juan Pablo Isaza Relatório

0

función plana es lo que buscas.

 var old_arr= ["one",["two","three"],"four"]; var new_arr = old_arr.flat(); console.log(new_arr);

about 4 years ago · Juan Pablo Isaza Relatório

0

Utilice el método Array#flat(), como sugirió Amila Senadheera , o cambie su función para no agregar siempre el elemento a la nueva matriz, así:

 var old_arr= ["one",["two","three"],"four"]; function arrayfix(arr){ let new_arr = []; for(let i =0; i < arr.length; i++) { if(typeof arr[i] == typeof {}) { //checks to see if it's an object for(let j =0; j < Object.keys(arr[i]).length; j++) { new_arr.push(arr[i][j]); } } else { // if it's an array, don't add it back to the new array new_arr.push(arr[i]); } } return new_arr; } console.log(arrayfix(old_arr));

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda