Рефакторинг кода на Javascript

Можно ли улучшить данный код? или такой подход тоже уместен ?

monthNames: [
                    "Январь", "Февраль", "Март", "Апрель", "Май", "Июнь",
                    "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"
                ],

            var D = new Date();
            let month = D.getMonth() + 1;
            let year = D.getFullYear();

            for (let i = month; i >= 0; i--) {
                if (i == 0){
                    for (let i = 12; i >= 6; i--){
                        this.arr.push({
                            "id": i,
                            "year": year -1,
                            "month": this.monthNames[i - 1],
                        });
                    }
                }
                this.arr.push({
                    "id": i,
                    "year": year,
                    "month": this.monthNames[i - 1],
                });
            }

На выходе планируется получить такой массив объектов, то есть минус 7 месяцев от текущего месяца и года

[
  {
    "id": 6,
    "year": 2020,
    "month": "Июнь"
  },
  {
    "id": 7,
    "year": 2020,
    "month": "Июль"
  },
  {
    "id": 8,
    "year": 2020,
    "month": "Август"
  },
  {
    "id": 9,
    "year": 2020,
    "month": "Сентябрь"
  },
  {
    "id": 10,
    "year": 2020,
    "month": "Октябрь"
  },
  {
    "id": 11,
    "year": 2020,
    "month": "Ноябрь"
  },
  {
    "id": 12,
    "year": 2020,
    "month": "Декабрь"
  },
  {
    "id": 1,
    "year": 2021,
    "month": "Январь"
  },
  {
    "id": 2,
    "year": 2021,
    "month": "Февраль"
  }
]

Ответы (0 шт):