Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

108
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!