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

106
Visualizações
Asigne números a otros números con interpolación en Javascript

Tengo un conjunto de datos con un volumen para una elevación de superficie determinada de una cuenca irregular. Por ejemplo:

 cm kL 11870 : 6043453 11871 : 6053522 11872 : 6063591 11873 : 6073674 11874 : 6083767 (...1550 rows)

cm es una serie que siempre se incrementa en uno ; Los valores de kL asociados son irregulares pero siempre aumentan y nunca se duplican . El mapeo nunca cambia y se puede cargar/almacenar en cualquier formato conveniente.

¿Javascript tiene una forma simple de convertir entre cm y kL? Idealmente con interpolación lineal en ambas direcciones. En última instancia, estoy buscando esta funcionalidad:

 cm_to_kL(11872.2); //Expect 6065607.6 kL_to_cm(6065600); //Expect 11872.199
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Escribí un ejemplo de cómo comenzar a resolver este problema. Como ya se mencionó, no hay funcionalidad interna para interpolar o manejar tales estructuras, pero necesita escribir su propia lógica.

Debo admitir que no soy un experto en matemáticas (+ son las 2 am aquí, pero esta pregunta me interesó :D).

Espero que esto te ayude al menos para empezar:

 const data = { 11870 : 6043453, 11871 : 6053522, 11872 : 6063591, 11873 : 6073674, 11874 : 6083767, }; const cm_to_kL = (val) => { const cm_ref = Math.floor(val); const factor = parseFloat((val % cm_ref).toFixed(5)); const lower = data[cm_ref]; const higher = data[cm_ref + 1]; if (isNaN(lower) || isNaN(higher)) { throw Error('Data entry point not found'); } const result = lower + ((higher - lower) * factor); if (isNaN(result)) { throw Error('Incorrect data provided'); } return result; }; const kL_to_cm = (val) => { const [cm, kL] = Object.entries(data).find(([k, v]) => val < v); if (isNaN(cm) || isNaN(kL)) { throw Error('Data entry point not found'); } const lower_cm = cm - 1; const lower_kL = data[lower_cm]; const diff = (val - lower_kL) / (kL - lower_kL); const result = parseFloat((lower_cm + diff).toFixed(5)) if (isNaN(result)) { throw Error('Incorrect data provided'); } return result; }; console.log('11872.2', cm_to_kL(11872.2), ); console.log('6065600', kL_to_cm(6065600), );

about 4 years ago · Juan Pablo Isaza Relatório

0

¡Sí, por supuesto, JS tiene que hacer lo que necesita! Puede crear 2 Map s a partir de su matriz dada, una para cm a kL y otra para kL a cm. Cree dos funciones para ellos cm_to_kL y kL_to_cm para obtener el valor de Map s después de esto, puede obtener fácilmente elementos con complejidad O (1)

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