Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

152
Vistas
Cómo devolver solo una matriz en una función si busca la primera y la última matriz y el argumento dado es solo 1 valor

Lo siento si esto no tiene sentido. Soy muy, muy nuevo en esto.

Estoy tratando de resolver un problema en el que devuelve el primer y último valor de una matriz. Siento que tengo las bases correctas con este código. p.ej:

 function getFirstAndLast(array) { return [array.shift(), array.pop()] } let newArray = [] newArray = getFirstAndLast([5, 10])

la consola imprimirá: [5, 10]

Sin embargo, cuando se le da solo 1 argumento, la consola devolverá el valor e indefinido. p.ej:

 function getFirstAndLast(array) { return [array.shift(), array.pop()] } let newArray = [] newArray = getFirstAndLast([5])

la consola ahora imprimirá: [5, indefinido]

La pregunta es cómo cambio mi código para que solo devuelva el valor único sin el indefinido, pero sigo conservando la capacidad de extraer el primer y el último valor de la matriz si se me dan 2 o más argumentos.

de nuevo, lo siento si esto no tiene sentido o si he dicho algo mal por error. Gracias

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Usaría el enfoque sin mutar la matriz y tomaría el corte de matrices más pequeñas y los índices para una matriz más grande.

 function getFirstAndLast(array) { return array.length < 3 ? array.slice(0, array.length) : [array[0], array.at(-1)]; } console.log(getFirstAndLast([])); // [] console.log(getFirstAndLast([5])); // [5] console.log(getFirstAndLast([3, 5])); // [3, 5] console.log(getFirstAndLast([1, 3, 5])); // [1, 5]
 .as-console-wrapper { max-height: 100% !important; top: 0; }

about 4 years ago · Santiago Trujillo Denunciar

0

Solo use la longitud, si length es 1, devuelva el mismo número como:

 function getFirstAndLast(array) { return (array.length === 1) ? [array[0], array[0]] : [array.shift(), array.pop()]; } console.log(getFirstAndLast([5])); console.log(getFirstAndLast([5,10])); console.log(getFirstAndLast([5,10,15]));


Mejor verifique el valor vacío como:

 function getFirstAndLast(array) { const lenArr = array.length; if (lenArr === 0) { return []; } else { return (lenArr === 1) ? [array[0], array[0]] : [array.shift(), array.pop()]; } } console.log(getFirstAndLast([])); console.log(getFirstAndLast([5])); console.log(getFirstAndLast([5, 10])); console.log(getFirstAndLast([5, 10, 15]));

Referencia:

  • .longitud
about 4 years ago · Santiago Trujillo Denunciar

0

De la pregunta anterior, tengo la impresión de que desea obtener el primer y el último valor de una matriz. Espero que esto funcione.

 var myArray = [5]; function firstAndLast(array) { var firstItem = myArray[0]; var lastItem = myArray[myArray.length-1]; var objOutput = {}; objOutput[firstItem]=lastItem return objOutput; } var display = firstAndLast(myArray); console.log(display);

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda