#javascript
#javascript
Вопрос:
У меня есть массив с датой. Когда я его анализирую, месяц увеличивается на 1. Как я могу это исправить?
var data = [{
name: 'Arun',
date: [2019, 4, 9, 14, 55, 28, 897778]
}, {
name: 'Manohar',
date: [2019, 4, 3, 22, 43, 54, 894553]
}]
data.forEach((item) => {
item.date.pop()
item.date = new Date(...item.date).toLocaleString('en-US')
});
console.log(data)
Я хочу, чтобы месяц был апрелем, а не маем. Пожалуйста, совет.
Ответ №1:
Согласно документации, значение monthIndex
будет начинаться с 0, а не с 1. Поэтому вам нужно вручную вычесть 1.
data.forEach((item) => {
item.date.pop()
item.date[1]--
item.date = new Date(...item.date).toLocaleString('en-US')
});
Комментарии:
1. Как уменьшить значение месяца в имеющемся у меня цикле?
2. Спасибо. Ценю помощь. Просто любопытно, будет ли это преобразовано с января 2019 года в декабрь 2018 года?
3. Да, так и будет. Но, учитывая, что источник ваших данных должен возвращать только месяцы от 1 до 12, значение
monthIndex
будет только между0
и11
. Вы могли бы добавить проверку, если хотите.
Ответ №2:
Месяц представлен значением от 0 до 11, 4 — пятый месяц, он соответствует маю, вам просто нужно уменьшить его на 1.
Комментарии:
1. Как уменьшить значение месяца в имеющемся у меня цикле?