TransWikia.com

Ejercicios de Arrays

Stack Overflow en español Asked by Antonela Alde on October 10, 2020

Cómo se imaginaran soy nueva y estoy tratando de hacer un curso de nivelación para acceder a un curso de programación; este ejercicios me tiene atascada:
"

Declará una función trasladar, que tome dos arrays, saque el último elemento del primero y lo agregue al segundo.

Ejemplo:

let unArray = [1, 2, 3];
let otroArray = [4, 5];

trasladar(unArray, otroArray);

unArray //debería ser [1, 2]
otroArray //debería ser [4, 5, 3]"

mi respuesta fue esta:

function trasladar (unArray,otroArray){
    let unArray=[1,2,];
    let array2=unArray.pop()
    let otroArray=[3,4];
    otroArray.push(array2)
    
}

Alguien puede explicarme por qué está mal y que me estoy saltando?
Les agradezco mucho su ayuda!

4 Answers

La idea de la funcion es que los parametros unArray y otroArray vengan con valores desde el exterior (al momento de llamarlos), por lo que la funcion es mas sencilla aun, quitandole las declaraciones de variable internas:

function trasladar (unArray,otroArray){
  let array2=unArray.pop()
  otroArray.push(array2)
}

Luego esta se puede llamar con los valores deseados

trasladar( [1,2] , [2,5,7] )

Correct answer by F.Igor on October 10, 2020

Después de revisar tu código y ver los resultados arrojados por la consola encontré este error: El error que tienes, es que estás declarando variables innecesarias dentro de tu función principal. Básicamente quedaría así:

function trasladar (unArray,otroArray){
    let array2 = unArray.pop()
    otroArray.push(array2)    
}

Answered by Juan Felipe Rubiano on October 10, 2020

seria de esta manera.

var unArray = [1, 2, 3];
var otroArray = [4, 5];

trasladar(unArray, otroArray);

console.log(unArray) //debería ser [1, 2]
console.log(otroArray) //debería ser [4, 5, 3]" 

function trasladar (Array1,Array2){

    let valor = Array1[Array1.length - 1];
    Array1.pop();

    Array2.push(valor)
    
}

El detalle era en la función de como realizar el proceso de extraer y agregar. Y para trabajar con Arreglos son pop y push.

y para resumir más el código podríamos poner de esta manera la agregación.

var unArray = [1, 2, 3];
var otroArray = [4, 5];

trasladar(unArray, otroArray);

console.log(unArray) //debería ser [1, 2]
console.log(otroArray) //debería ser [4, 5, 3]" 

function trasladar (Array1,Array2){
    Array2.push(Array1.pop())    
}

Answered by M0u53GT on October 10, 2020

  • No utilices los nombres de parámetros para igualarlos con vectores
  • Estos parámetros te servirán para usarlos dentro de la función y estructurar la lógica a desarrollar cuando el usuario invoque a la función y pase los argumentos con los cuales se sustituirán los parámetros
  • Los vectores son declarados por fuera de la función y pasados como argumentos cuando invocas a la función por su nombre, ya que de lo contrario obtendrás como error un aviso similar a este:

"SyntaxError: Identifier 'unArray' has already been declared

  • Debes retornar el vector que se le agregó un nuevo elemento o cuando trates de imprimir el resultado este será undefined
  • Trata de usar nombres de variables mas descriptivos

    function trasladar (unArray,otroArray) {
        //let unArray=[1,2,]; eliminar
        let elementoMovible =unArray.pop();
        //let otroArray=[3,4]; eliminar
        otroArray.push(elementoMovible);
        return otroArray;
    }
    
    let unArray = [1, 2, 3];
    let otroArray = [4, 5];
    
    console.log(trasladar(unArray, otroArray));

Answered by BetaM on October 10, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP