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

227
Views
Generar un valor aleatorio a partir de una matriz basada en la posición del índice del elemento de la matriz dentro de un bucle en JavaScript

Tengo una matriz de valores de distancia fijos o aleatorios, multiplicados por la escala de un mapa, mapScale . Los valores aleatorios se pueden generar usando la función randomNum(num1, num2) .

Estoy buscando asignar a la distance variable un nuevo valor, para cada iteración dentro de un ciclo, usando una posición de índice de matriz de distances predeterminada. El valor de la posición del índice de la matriz debe permanecer igual para cada iteración dentro del bucle (por ejemplo, 6), pero el valor de la distance debe cambiar para cada iteración si el elemento de la matriz es un número aleatorio para la posición de índice especificada.

Tenga en cuenta que si se especifica una posición de índice de "aleatorización", quiero obtener un nuevo número aleatorio para cada iteración (por ejemplo, 6,22, 7,08, 9,45, etc.) y no simplemente uno predeterminado constante (por ejemplo, 7,84 ).

El siguiente código funciona, pero llamar a randomNum para cada iteración probablemente no sea óptimo, especialmente porque ya conocemos la posición de índice del elemento que buscamos recuperar. Tenga en cuenta también que el número de iteraciones, n , varía de aproximadamente 500 a aproximadamente 10 000.

 var indexPosition = findIndexPosition(...) for (let i = 0; i <= n; i++){ var distances = [ mapscale * 0.25, mapscale * 0.75, mapscale * 1, mapscale * 1.5, mapscale * 2, mapscale * randomNum(3, 5), mapscale * randomNum(6, 10), mapscale * randomNum(15, 50), mapscale * randomNum(100, 500), mapscale * randomNum(1000, 2500), ]; var distance = distances[indexPosition] [...] }

Me gustaría encontrar la solución más elegante (velocidad óptima / balance de número de línea) para lograr el comportamiento deseado. Estoy abierto a usar una declaración de switch , una function , un object , etc., siempre que el código sea conciso y el rendimiento esté optimizado.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Qué tal esto:

 var indexPosition = findIndexPosition(...) const distances = [ () => mapscale * 0.25, ... () => mapscale * randomNum(1000, 2500) ]; for (let i = 0; i <= n; i++){ var distance = distances[indexPosition]() ... }
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!