es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

array push en un array asociativo de JavaScript.

Estoy tratando de crear una matriz asociativa de fechas y estilos. Espero obtener una matriz como

{   
   dates: [{day: 1, month: 12, year: 2021}, {day: 15, month: 12, year: 2021}],
   styleClass: 'test'
}

Y mi código es

var markedDates = [];
markedDates['dates'].push('day: 1, month: 12, year: 2021');
markedDates['dates'].push('day: 15, month: 12, year: 2021');
markedDates['styleClass'].push('test');
console.log(markedDates);

lo cual devuelve un error.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Hay algunos problemas con el código proporcionado. En primer lugar, el arreglo markedDates necesita ser inicializado como un objeto con un arreglo vacío llamado dates y una propiedad styleClass, de esta manera:

    var markedDates = {
      dates: [],
      styleClass: 'test'
    };
    

    Luego, al agregar fechas al arreglo dates, necesitamos agregar objetos con las correspondientes parejas clave-valor, de esta manera:

    markedDates['dates'].push({ day: 1, month: 12, year: 2021 });
    markedDates['dates'].push({ day: 15, month: 12, year: 2021 });
    

    Finalmente, la propiedad styleClass no necesita ser agregada ya que se asigna como una propiedad de cadena de texto. El código corregido debería verse así:

    var markedDates = {
      dates: [],
      styleClass: 'test'
    };
    markedDates['dates'].push({ day: 1, month: 12, year: 2021 });
    markedDates['dates'].push({ day: 15, month: 12, year: 2021 });
    console.log(markedDates);
    

    Esto debería mostrar el siguiente resultado:

    {
      dates: [
        { day: 1, month: 12, year: 2021 },
        { day: 15, month: 12, year: 2021 }
      ],
      styleClass: 'test'
    }
    

Comments are closed.