let specificSuffix = function(words, suffix) { if (!Array.isArray(words)) { return []; } return words.filter(function(word) { return word.endsWith(suffix) }); } console.log(specificSuffix(['family', 'hound', 'catalyst', 'fly', 'timidly', 'bond'], 'ly')); // [ 'family', 'fly', 'timidly' ] console.log(specificSuffix(['simplicity', 'computer', 'felicity'], 'ily')); // [ ]Estoy confundido específicamente acerca de:
return words.filter(function(word) { return word.endsWith(suffix) });¿Cómo voy a devolver ambas cosas? El filtro dice, devuelve esta nueva matriz vacía, llénala con las palabras que terminan con el sufijo... (creo)
Realmente son solo los dos retornos los que me arrojan. ¿Como funciona esto?
¿Quizás si extraemos el result de la variable, el código tendrá más sentido?
const specificSuffix = function(words, suffix) { if (!Array.isArray(words)) return []; const result = words.filter(function(word) { return word.endsWith(suffix) }); return result; };return words.filter(function(word){ return word.endsWith(suffix) }); El retorno externo devuelve el resultado de words.filter() . Dentro de la función filter() tenemos que pasar una devolución de llamada. Entonces, el return interno es para esa devolución de llamada. En resumen, debe devolver verdadero/falso, según una condición dentro de la devolución de llamada del filtro.