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

267
Vistas
Javascript: cómo crear una matriz utilizando una matriz original y una variable para determinar cuántas veces el valor de una matriz puede entrar en la variable

Me gustaría crear una matriz que indique la cantidad de veces que la cantidad aprobada entra en la cantidad original (vqty) y la cantidad aprobada asociada con ella (aqty). La cantidad original disminuye después de cada iteración.

Por ejemplo - var ApprovedQty = [680,120,450,40]; var Cantidad original = 10000;

var NewArray = [(vqty:aqty),(vqty:aqty),(vqty:aqty),(vqty:aqty)]

use algún tipo de bucle for para generar NewArray ordenando la matriz original en orden descendente y dividiendo la cantidad original por el valor de la matriz.

idealmente es 10000/680 = 14.07 por lo que el primer valor en NewArray es (14:680). Luego, la cantidad original se convierte en 10000 - (680x14) = 480

entonces 480/450 = 1.06 entonces el segundo valor en NewArray es (1:450). Entonces la cantidad original se convierte en 480 - (450 x1) = 30

entonces 30/120 = .25 .. dado que 120 no es el último valor disponible en la matriz original, el valor en la nueva matriz es (0:120) y la cantidad original permanece en 30

entonces 30/40 = 0,75... dado que 40 es el último valor de la matriz, el valor de la nueva matriz es (1:40)

entonces el nuevo arreglo es [(14:680),(1:450),(0:120),(1:40)]

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede mapear las partes deseadas usando un cierre que es una función que devuelve una función y mantiene un total variable.

El código verifica si se alcanza el último índice y toma ceil como método, de lo contrario, floor y lo llama más tarde con la división por el valor de la matriz (previamente ordenada).

Luego, el total obtiene el resto y las parts se devuelven como resultado.

 const getParts = total => (value, i, { length }) => { const method = i + 1 === length ? 'ceil' : 'floor', parts = Math[method](total / value); total %= value; return parts; }, values = [680, 450, 120, 40], result = values.map(getParts(10000)); console.log(...result);

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