Момент JS кажущееся возвращение случайной даты - PullRequest
0 голосов
/ 18 июня 2020

Момент JS возвращает случайную дату.

Я пытаюсь создать календарь в проекте, поддерживающем реакцию. Я создал этот l oop, чтобы отсчитывать дни с сегодняшней даты. Я прикрепил свою консоль и попытался четко показать, как я пытался отладить это. * Любая помощь будет принята с благодарностью. Это код, который вызывает всю суету Это вывод в консоли

1 Ответ

0 голосов
/ 18 июня 2020

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

https://momentjs.com/guides/# / lib-Concepts / mutability /

Вам нужно будет создать новый экземпляр момента или клон существующий при выполнении таких операций, как .add (), .subtract (), et c.

const moment = require("moment");

const today = moment();

// count back N days
const N = 3;
let i = 1;
let days = [];


// #1 - Create a new moment instance from today and add -i days
while (i <= N) {
  const day = moment(today).add(-i, "days");
  days.push(day);
  i++;
}

console.log("Approach #1");
console.log({ days });

// #2 - A moment is mutable. So we use add() to mutate today by -1 days each iteration, clone the instance, and push to array
i = 0;
days = [];
while (i < N) {
  const day = today.add(-1, "days").clone();
  days.push(day);
  i++;
}

console.log("Approach #2");
console.log({ days });

enter image description here

...