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

94
Visualizações
Cómo combinar la función de mapa y abrazadera juntas

Hay dos funciones

 const clamp = (num, a, b) => Math.max(Math.min(num, Math.max(a, b)), Math.min(a, b)); const map = (x, a, b, c, d, clamp) => (x - a) * (d - c) / (b - a) + c const c = map(-50, 0, 1, 0, 100) const _c = clamp(c, 0, 1) console.log(_c, c)

¿Hay alguna manera de que las dos funciones se puedan combinar, algo así como

 const _c = map(-50, 0, 1, 0, 100, {clamp: true})

para que no necesite copiar parámetros de la función de mapa para obtener el nuevo valor dentro del rango de parámetros.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Es bastante fácil, solo cree una sola función y eso ejecuta secuencialmente la función de mapa original y si el parámetro de clamp es true , calcule eso y devuélvalo. Compruebe a continuación el código.

 const map(x, a, b, c, d, clamp) { const map_result = (x - a) * (d - c) / (b - a) + c; if (clamp) { const clamp_result = Math.max(Math.min(map_result, Math.max(a, b)), Math.min(a, b)); return clamp_result } return map_result; }

Puedes usarlo así: const _c = map(-50, 0, 1, 0, 100, true)

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede pasar la función a la función de abrazadera y usarla dentro de la misma. O si las funciones están en la misma ubicación, puede invocarlas dentro de la función de abrazadera

 const map = (x, a, b, c, d, clamp) => (x - a) * (d - c) / (b - a) + c const _map = (x, a, b, c, d, map) => Math.max(Math.min(map(x, a, b, c, d), Math.max(a, b)), Math.min(a, b)); const a = _map(-50, 0, 1, 0, 100, map) console.log(a)

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