aprende-javascript-problemas icon indicating copy to clipboard operation
aprende-javascript-problemas copied to clipboard

Error ejercicio práctico "Transformación de Arrays en JavaScript"

Open danimr99 opened this issue 1 year ago • 3 comments

El enunciado del ejercicio es el siguiente:

Recibes dos parámetros: una lista de palabras words y una palabra word. Primero, busca el índice de la palabra en la lista. Después, usa ese índice (que será un número) y devuelve todas las palabras de words que sean más largas (length) que el número del índice.

Ten en cuenta que la palabra word siempre existirá en el array, por lo que no es necesario comprobar si existe o no.

La solución que he escrito para este ejercicio es la siguiente:

function buscaPalabras(words, word) {
  const wordIndex = words.findIndex(item => item === word)
  const lengthToBeat = words[wordIndex].length
  
  return words.filter(item => item.length > lengthToBeat)
}

Si alguien considera que la solución que he aportado es incorrecta, pido por favor que me lo haga saber. De igual forma, he probado con cada uno de los conjuntos de entrada utilizados por los tests. Los resultados han sido los siguientes:

  • return type

    Expected: "function" Actual: "function"

  • return type

    Expected: "array" Actual: "array"

  • fn(['casa', 'coche'], 'casa')

    Expected: ["casa","coche"] Actual: ["coche"]

  • fn(['play', 'balon', 'asa', 'taza', 'tio'], 'tio')

    Expected: ["balon"] Actual: ["play","balon","taza"]

  • fn(['play', 'midu', 'asa', 'libro', 'lino', 'dino'], 'dino')

    Expected: [] Actual: ["libro"]

Considero que, de ser correcta mi solución, los expecteds no coinciden con los que deberían ser los actuals. He considerado que quizás se trataba de un error del enunciado pero, aún devolviendo las palabras que sean más largas o iguales tampoco lo solucionan.

Aprovecho para agradecer la contribución de @midudev a la comunidad de JavaScript.

danimr99 avatar Sep 25 '23 22:09 danimr99