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

202
Vistas
cómo dividir el tiempo en períodos cada variable específica en JavaScript

lo que estoy tratando de hacer es que tengo una sucursal que tiene horas de trabajo y, por lo tanto, hay más de un servicio que brinda esta sucursal, por lo que si el cliente presiona el servicio que dura 15 minutos, necesito dividir las horas de trabajo de la sucursal en cola lista de esta duración, desde el turno abierto hasta el final del turno y también eliminar todas las colas que están en el descanso de la sucursal

tengo estas variables:

Startshift="09:10" , breaktime = "12:00" , endBreak="12:30" , endShift="13:00" , periodo cada :10min

quiero definir una matriz de períodos de tiempo que contengan en cada celda una hora específica de acuerdo con la variable específica que doy

mi código:

 let startTime = 9, endTime = 13, selectedServiceDuration = 10, middleMin = 10; for (i = startTime; i < endTime; i++) { for (j = middleMin; j < 60; j = j + selectedServiceDuration) { arr.push({ id: Math.random() * 56, hour: i + ":" + (j === 0 ? "00" : j) }); } }

regresará de esta manera

 "hour": "9:10", "hour": "9:20", "hour": "9:30", "hour": "9:40", "hour": "9:50", "hour": "10:10", "hour": "10:20", "hour": "10:30", "hour": "10:40", "hour": "10:50", "hour": "11:10", "hour": "11:20", "hour": "11:30", "hour": "11:40", "hour": "11:50", "hour": "12:10", "hour": "12:20", "hour": "12:30", "hour": "12:40", "hour": "12:50",

entonces mi código perdió la hora: 10:00, lo que significa que el resto de la tabla es incorrecta

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

0

Su ciclo comienza desde 10 y termina mientras j = 50 porque su condición es j < 60 . Debe incrementar el ciclo hasta 60 para que su condición se convierta en j <= 60 . Verifica j === 0 pero el ciclo comienza desde 10 , entonces, ¿cómo va a 0 ? La mejor manera es verificar la hora con j === 60 .

A continuación se muestra el código modificado:

 const arr = []; for(i=9; i<13; i++) { for(j=10; j<=60; j=j+10) { arr.push({id:Math.random()*56 , hour:(j === 60 ? (i + 1) : i) + ":" + (j === 60 ? "00" : j)} ); } } for (var k = 0; k <= arr.length - 1; k++) { console.log(arr[k].hour); }

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