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

253
Visualizações
invertir una matriz en javascript en función sin el método reverse ()

aquí está mi código:

 const reverseArr = (...args) => { let length = args.length - 1 let reversed = [] let i = 0 for (let a = length - i; i <= length; i++) { args[a] = reversed[i] } return reversed } console.log( reverseArr(3, 5, 4, 1) )

¿Cuál es el problema aquí? ¿Se trata del valor de 'i' o de la longitud?

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

function reverse(arr){ // get length var len = arr.length; // create new array var newArr = []; // loop through array for(var i = len - 1; i >= 0; i--){ // push to new array newArr.push(arr[i]); } // return new array return newArr;}

inversa ([1,2,3,4,5]);

prueba esto.

about 4 years ago · Juan Pablo Isaza Relatório

0

Hay varios problemas:

  1. for inicialización ocurre una vez, por lo que si let a = lemgth - i , no se actualiza más, aunque i cambie.
  2. Está reasignando valores a su propia matriz de entrada con una matriz reversed , que está vacía.
  3. Está generando la matriz de entrada (arr) .

Traté de arreglar su fragmento y también agregué un mejor enfoque:

 const reverseArr = (...args) => { let length = args.length - 1 let reversed = [] let i = 0 // update 'a' as soon as you update 'i' for(let a = length - i; i <= length; i++, a = length - i){ // update the standby array 'reveresed' reversed[i] = args[a] } // print the reversed array instead of 'args' console.log(reversed) } // Alternate approach (in-place reverse) const reverseInput = (...args) => { let left = 0, right = args.length - 1; while(left <= right) { // swap the left and right elements in array [args[left], args[right]] = [args[right], args[left]] ; left++; right--; } console.log(args); } // Approach 1 console.log(reverseArr(3, 5, 4, 1)) // Approach 2 console.log(reverseInput(3,5,4,1));

about 4 years ago · Juan Pablo Isaza Relatório

0

simplemente...

 const reverseArr = (...args) => Array.from({length:args.length},_=>args.pop()) console.log( reverseArr(3, 5, 4, 1) )

si desea usar una matriz como argumento y dejarla intacta:

 const reverseArr = arr => Array.from({length:arr.length},(_,i)=>arr[(arr.length-++i)]) let arrOrigin = [3,5,4,1] let arrResult = reverseArr( arrOrigin ) console.log( arrOrigin ) console.log( arrResult )
 .as-console-wrapper {max-height: 100%!important;top:0 }

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