Как создать массив объектов со строками и массивами

#javascript #arrays #object

Вопрос:

Я должен создать массив в следующем формате

 var myData = [
  {
    x: "10:00",
    y: [15, 30],
  },
];

 

Где мой код выглядит так

 myData.push({
  x: startingHoursToPush   ":00",
  y: "["   startingHours[1]   ","   endingHours[1]   "]",
});

 

но результат, который я получаю, выглядит следующим образом

 x: "11:00"
y: "[15,30]"
 

Мне нужно сделать значения для y массивом вместо строки

Комментарии:

1. "[" не делает того, что вы думаете.

2. Да, я изо всех сил пытаюсь представить значения y в виде массива

3. Просто используйте [ и ] без кавычек для объявления литерала массива.

Ответ №1:

используйте либо [ ]

 myData.push({
  x: startingHoursToPush   ":00",
  y: [startingHours[1],endingHours[1]],
});
 

ДЕМОНСТРАЦИОННАЯ СКРИПКА 1

или

используйте массив внутри

 myData.push({
      x: startingHoursToPush   ":00",
      y: new Array(startingHours[1],endingHours[1]),
    });
 

ДЕМОНСТРАЦИОННАЯ СКРИПКА 2

Ответ №2:

Вы создаете строку вместо массива, попробуйте вместо этого

 myData.push({
  x: startingHoursToPush   ":00",
  y: [startingHours[1], endingHours[1]],
});
 

Ответ №3:

Джей Си — это замечательно. Просто заключите это в [] скобки.

 myData.push({
  x: startingHoursToPush   ":00",
  y: [startingHours[1] , endingHours[1] ],
});