Передача переменной в качестве аргументов для Date.UTC () - PullRequest
0 голосов
/ 06 ноября 2019

Я хочу передать аргументы для Date.UTC () в виде массива, хранящегося в переменной, вместо серии аргументов.

let dateArray = [2019, 0, 1, 0]; 
let utcTime = new Date(Date.UTC(dateArray));

возвращает NaN

Конечно, это не работает, потому что объект принимает свои аргументы только один за другим. Примерно так:

let utcTime = new Date(Date.UTC(dateArray[0], dateArray[1], dateArray[2], dateArray[3]);

возвращает 1546300800000

Проблема в том, что я хочу, чтобы он работал независимо от длины массива в переменной.

let newYear = [2020];
let christmasDay = [2019,11,25];
let lunchTime = [2019,11,25,12,30];

IsЕсть ли способ передачи этих различных переменных в качестве аргументов для объекта Date?

1 Ответ

0 голосов
/ 06 ноября 2019

Как насчет использования оператора ...:

[
  [2020],
  [2019, 11, 25],
  [2019, 11, 25, 12, 30]
].forEach(function(dateArray) {
  let utcTime = new Date(Date.UTC(...dateArray));
  console.log(JSON.stringify(dateArray) + " becomes " + utcTime.toISOString());
});
...