亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Javascript 算法僅顯示 4 個月

Javascript 算法僅顯示 4 個月

ITMISS 2024-01-18 16:46:56
我在顯示一年中的正確月份時遇到問題。問題是幾個月不互相跟進。我似乎無法正確理解算法。我現在遇到的問題是,這些月份不能正確地相互跟進。不應使用“Jan-Feb-Mar-Dec”,而應為“Dec-Jan-Feb-Mar”:這是我在這一點上的算法。當月份在不同年份重疊時,我無法理解如何按正確的順序排列月份。新年的月份是數組開始的月份:   visibleMonths() {      let oldestMonth = 0;      this.months.forEach(month => {        if (month.visible && month.value > oldestMonth)          oldestMonth = month.value;      });      if (oldestMonth + 4 > 11) {          let visibleMonths = [];        // ORDER THE MONTHS       } else {        return this.months.filter(month => month.visible === true);      }    }months: [        { name: "Jan", value: 0, active: false, visible: false },        { name: "Feb", value: 1, active: false, visible: false },        { name: "Mar", value: 2, active: false, visible: false },        { name: "Apr", value: 3, active: false, visible: false },        { name: "Mei", value: 4, active: false, visible: false },        { name: "Jun", value: 5, active: false, visible: false },        { name: "jul", value: 6, active: false, visible: false },        { name: "Aug", value: 7, active: false, visible: false },        { name: "Sep", value: 8, active: false, visible: false },        { name: "Okt", value: 9, active: false, visible: false },        { name: "Nov", value: 10, active: false, visible: false },        { name: "Dec", value: 11, active: false, visible: false }      ],
查看完整描述

1 回答

?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

您可以簡單地移動源數組并將其附加到臨時數組,然后您可以slice:


const months = [

        { name: "Jan", value: 0, active: false, visible: false },

        { name: "Feb", value: 1, active: false, visible: false },

        { name: "Mar", value: 2, active: false, visible: false },

        { name: "Apr", value: 3, active: false, visible: false },

        { name: "Mei", value: 4, active: false, visible: false },

        { name: "Jun", value: 5, active: false, visible: false },

        { name: "jul", value: 6, active: false, visible: false },

        { name: "Aug", value: 7, active: false, visible: false },

        { name: "Sep", value: 8, active: false, visible: false },

        { name: "Okt", value: 9, active: false, visible: false },

        { name: "Nov", value: 10, active: false, visible: false },

        { name: "Dec", value: 11, active: false, visible: false }

      ]

const currentMonthIndex = new Date().getMonth()


function getVisibleMonths(months, currentMonthIndex) {

  const tmp = [...months]

  const res = []

  for (i = 0; i < currentMonthIndex; i++) {

    res.push(tmp.shift())

  }

  return [...tmp, ...res].slice(0, 4)

}


console.log(getVisibleMonths(months, currentMonthIndex))


查看完整回答
反對 回復 2024-01-18
  • 1 回答
  • 0 關注
  • 112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號