Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

162
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda