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

122
Visualizações
No entender la segunda declaración de retorno en esta función

Estoy aprendiendo javascript y mientras estaba en Codewars no pude resolver este problema, así que busqué una solución.

Esta es la solución que encontré y simplemente no entiendo por qué debe haber una segunda declaración de devolución dentro del método del mapa. Si alguien pudiera darme alguna idea sería muy apreciado. Gracias.

 let spinWords = (str) => { return str.split(' ').map(function(string) { return (string.length > 4) ? string.split('').reverse().join('') : string }).join(' '); }
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

La función .map acepta una devolución de llamada, y esa devolución de llamada es una función que se ejecuta para cada elemento de la matriz. Para un ejemplo simple:

 const upperCase = str => str.toUpperCase(); console.log( ['a', 'b'].map(upperCase) );

Arriba, se llama con ambos elementos de la matriz: upperCase('a') y upperCase('b') , y los resultados se colocan en la nueva matriz, que luego se registra en console.log .

También puede definir funciones en línea y pasar eso a .map :

 console.log( ['a', 'b'].map(str => str.toUpperCase()) );

Tu código es original

 str.split(' ').map(function(string) { return (string.length > 4) ? string.split('').reverse().join('') : string }).join(' ');

está haciendo el mismo tipo de cosas, excepto que

  • el cuerpo de la función es más complicado, y
  • está usando la palabra clave de function , en lugar de una función de flecha, y por lo tanto necesita la palabra clave de return para devolver valores ( a diferencia de las funciones de flecha en algunas circunstancias ).
about 4 years ago · Juan Pablo Isaza Relatório

0

El segundo retorno es una función de devolución de llamada. Prueba a verlo así:

 function reverseWord(string) { return (string.length > 4) ? string.split('').reverse().join('') : string } let spinWords = (str) => { return str.split(' ').map(reverseWord).join(' '); }

Así que reverseWord es su función de devolución de llamada, con su propio retorno. El valor que devuelve es el valor utilizado en la matriz asignada.

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