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

206
Vistas
empujando una fecha en una matriz siempre pongo la misma fecha, el último elemento de mi matriz

Estoy trabajando con una función que necesita devolver una matriz con datos, los datos de las Fechas siempre son los mismos pero la definición de las fechas no es la misma, aquí las fechas guardadas en una matriz, cada fecha es diferente pero cuando Intento poner estos datos en otra matriz, siempre devuelve la última fecha de la matriz:

 const dates=[new Date(startTimestamp), new Date(startTimestamp+ 6.048e+8), new Date(startTimestamp+2*+ 6.048e+8), new Date(startTimestamp+3*+ 6.048e+8)] for (let index = 0; index < 4; index++) { const week = weeksData[weekIndex + index];//I have an array of weeks to search for some data //if that data is not in the array then i want to add a new week with a new Date if (week !== undefined ) { newWeeks.push(week); } else{ const mockWeek={} mockWeek.timestamp=dates[index].valueOf(); mockWeek.week= dayjs(dates[index]).format('MMM DD'); console.log(dates[index]) console.log(mockWeek) newWeeks.push(mockWeek) } }

aquí puede ver que el bucle tiene los valores correctos pero, al final, la matriz no pone el valor deseado en la matriz final

¿Qué estoy haciendo mal?

La matriz de semanas es así

 Array(17) 0: Week id: "test-project_1652590800000" projectId: "test-project" data:{...} timestamp: 1652590800000 week: "May 15" 1: Week id: "test-project_1641196800000" projectId: "test-project" data:{...} timestamp: 1641196800000 week: "Jan 03" 2: Week id: "test-project_1641801600000" projectId: "test-project" data:{...} timestamp: 1641801600000 week: "Jan 10"

Busco en esta matriz por alguna fecha, pero si la fecha no existe, es cuando quiero agregar la semana simulada, con los mismos datos, pero con una semana y una marca de tiempo diferentes, es cuando la semana simulada siempre tiene la última fecha. de la matriz, aquí no tengo el 8 de mayo y el 1 de mayo, por ejemplo, entonces quiero agregar una semana simulada como esta

 3: Week id: "test-project_1651381200000" projectId: "test-project" data:{...} timestamp: 1651381200000 week: "May 1" 4: Week id: "test-project_1651986000000" projectId: "test-project" data:{...} timestamp: 1651986000000 week: "May 8"

Pero en cambio, tengo en los datos de ambas semanas el "8 de mayo" y la marca de tiempo del "8 de mayo"

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

0

Esto no es una respuesta, es un comentario largo que busca una aclaración.

La creación de un fragmento ejecutable a partir del código publicado muestra que no se comporta como se describe. Agregué punto y coma y arreglé los errores de sintaxis. Parece hacer lo que quiere (es decir, agregar objetos de semana faltantes a la matriz newWeeks ).

Debe publicar un código (preferiblemente como un fragmento ejecutable) que demuestre el problema. Hasta entonces, las respuestas solo pueden ser conjeturas.

 let startTimestamp = new Date().setHours(0,0,0,0); let dates=[new Date(startTimestamp), new Date(startTimestamp+ 6.048e+8), new Date(startTimestamp+2*+ 6.048e+8), new Date(startTimestamp+3*+ 6.048e+8)]; let weekIndex = 5; // Ensure no weeks are found let newWeeks = []; let weeksData = [{ // Minimal data in array from OP 0: 'Week', timestamp: 1652590800000, week: "May 15" },{ 1: 'Week', timestamp: 1641196800000, week: "Jan 03" },{ 2: 'Week', timestamp: 1641801600000, week: "Jan 10" }]; // Loop from OP for (let index = 0; index < 4; index++) { let week = weeksData[weekIndex + index]; if (week !== undefined ) { newWeeks.push(week); } else { let mockWeek = {}; mockWeek.timestamp = dates[index].valueOf(); mockWeek.week = dayjs(dates[index]).format('MMM DD'); console.log(dates[index]); console.log(mockWeek); newWeeks.push(mockWeek); } } console.log(newWeeks);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.11.2/dayjs.min.js"></script>

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