Преобразование массива строк в массив dateTimes - PullRequest
0 голосов
/ 24 октября 2018

Начинающий ученик, изучающий JavaScript, пытается преобразовать массив строк в массив dateTimes, используя только vanilla.

Пример ввода:

   ["2018-07-16T14:28:03.123", 
    "2018-07-20T14:00:27.123", 
    "2018-07-26T13:31:12.123", 
    "2018-08-12T13:03:37.123", 
    "2018-09-24T12:35:46.123"]

Требуемый вывод:

[2018-07-16T14:28:03.123, 
 2018-07-20T14:00:27.123, 
 2018-07-26T13:31:12.123, 
 2018-08-12T13:03:37.123, 
 2018-09-24T12:35:46.123]

Мои строковые значения всегда являются строковыми представлениями dateTime, поэтому я пытался использовать new Date(stringDateTime) для преобразования каждой строки в ее аналог dateTime, но у меня возникают проблемы с навигацией по массиву и построением новогоодин с соответствующими типами данных dateTime.

Ответы [ 2 ]

0 голосов
/ 24 октября 2018

Хотя ответ Игала более элегантный и лаконичный, я постараюсь показать более простое решение, в котором вы используете цикл for и новый Date ():

var stringDates = ["2018-07-16T14:28:03.123", 
    "2018-07-20T14:00:27.123", 
    "2018-07-26T13:31:12.123", 
    "2018-08-12T13:03:37.123", 
    "2018-09-24T12:35:46.123"];

var dateObjects = [];

//Loop over your string array and push dates in your dateObjects array
for (var index in stringDates) {
  var stringDate = stringDates[index];
  dateObjects.push(new Date(stringDate));
}
0 голосов
/ 24 октября 2018

Используйте функцию map :

var datesStr = ["2018-07-16T14:28:03.123", "2018-07-20T14:00:27.123", "2018-07-26T13:31:12.123", "2018-08-12T13:03:37.123", "2018-09-24T12:35:46.123"]
var dates = datesStr.map(d => new Date(d));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...