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

167
Views
reduzca el tamaño de una matriz de javascript mientras mantiene los miembros que están distribuidos uniformemente en el original

Difícil de expresar con palabras, pero estoy buscando una función que tome una matriz y la reduzca a un tamaño determinado. El caso de uso es especificar marcas para el gráfico en d3.

 const availableDatetimes: Date[] = [...] const numberOfXTicks = chartWidth / 80 const tickValues = reduceArrSize(availableDatetimes, numberOfXTicks)

el resultado debe tener fechas distribuidas uniformemente

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

0

Lo llamé shrinkArray() , porque reducir una matriz es el nombre de una operación bien definida diferente. Aquí está:

 const shrinkArray = (array, size) => { const step = array.length / size return array.filter((v, i) => Math.floor(i % step) == 0) }

Reduzcamos una matriz de tamaño 100 a tamaño 33:

 const originalArray = (new Array(100).fill(0)).map((v, i) => i) const shrunkenArray = shrinkArray(originalArray, 33) console.log(shrunkenArray); console.log(shrunkenArray.length == 33);

Asi que:

 [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99 ]

se reduce a:

 [ 0, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40, 43, 46, 49, 53, 56, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 89, 92, 95, 98 ]

que es de talla 33.

En este ejemplo, la matriz son números enteros del 0 al 99, pero obviamente la función funciona para cualquier tipo de datos.

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!