JavaScript算法仅显示4个月

史提芬

我在显示一年中的正确月份时遇到问题。问题在于,几个月之间彼此没有跟进。我似乎无法正确执行算法。

我现在遇到的问题是,这几个月之间彼此无法正确跟踪。与其说“ 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 }
      ],
信使

您可以简单地移动源数组并将其附加到临时数组中,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))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Cal-Heatmap仅连续显示3个月,再显示3个月,直到所有12个月为止

来自分类Dev

Javascript函数,需要一个月/日期,最多显示12个月/日期

来自分类Dev

telerik折线图仅显示一个月

来自分类Dev

Webalizer在摘要页面上仅显示2个月(Ubuntu 14.04)

来自分类Dev

SQL-获得一个月的新事件计数并仅显示增加的值

来自分类Dev

显示今天的日期和月份名称(以小写形式显示),表示该月份为4个月(即今天的日期+ 4个月)

来自分类Dev

SQL Server:将SELECT限制为仅获取最近4周/ 1个月的数据

来自分类Dev

为什么Javascript将第3个月变成4月?

来自分类Dev

最近12个月使用Javascript

来自分类Dev

SQL显示滚动4个月,寻找会计年度

来自分类Dev

当WeekView包装两个不同的月份时,在FullCalendar中仅显示一个月的名称

来自分类Dev

显示不超过6个月的商品

来自分类Dev

使用JS datepicker显示3个月的集团

来自分类Dev

在Highcharts xAxis上显示12个月

来自分类Dev

这个jQuery不显示一个月

来自分类Dev

使用php显示间隔1个月的日期范围

来自分类Dev

PHP的日期从今天到4个月

来自分类Dev

在83年和4个月内转换1000个月

来自分类Dev

在83年零4个月内转换1000个月

来自分类Dev

如何使Javascript输入一个月的名字?

来自分类Dev

MySQL显示12个月的间隔,没有前半个月

来自分类Dev

在Emacs中将光标移动到12个月旋转日历中的日期的算法

来自分类Dev

连续6个月

来自分类Dev

如何仅使用PHP在来自oracle的原始日期中添加一个月?

来自分类Dev

在sqlite数据库中仅获取日期以来的一个月

来自分类Dev

打印12个月的日历,仅输入年份。使用C

来自分类Dev

mongo查询仅选择一个月的第一天

来自分类Dev

JavaScript:打印之前的12个月-“三月”打印两次?

来自分类Dev

完全一样的显示器相隔4个月购买了,输出不一样吗?

Related 相关文章

  1. 1

    Cal-Heatmap仅连续显示3个月,再显示3个月,直到所有12个月为止

  2. 2

    Javascript函数,需要一个月/日期,最多显示12个月/日期

  3. 3

    telerik折线图仅显示一个月

  4. 4

    Webalizer在摘要页面上仅显示2个月(Ubuntu 14.04)

  5. 5

    SQL-获得一个月的新事件计数并仅显示增加的值

  6. 6

    显示今天的日期和月份名称(以小写形式显示),表示该月份为4个月(即今天的日期+ 4个月)

  7. 7

    SQL Server:将SELECT限制为仅获取最近4周/ 1个月的数据

  8. 8

    为什么Javascript将第3个月变成4月?

  9. 9

    最近12个月使用Javascript

  10. 10

    SQL显示滚动4个月,寻找会计年度

  11. 11

    当WeekView包装两个不同的月份时,在FullCalendar中仅显示一个月的名称

  12. 12

    显示不超过6个月的商品

  13. 13

    使用JS datepicker显示3个月的集团

  14. 14

    在Highcharts xAxis上显示12个月

  15. 15

    这个jQuery不显示一个月

  16. 16

    使用php显示间隔1个月的日期范围

  17. 17

    PHP的日期从今天到4个月

  18. 18

    在83年和4个月内转换1000个月

  19. 19

    在83年零4个月内转换1000个月

  20. 20

    如何使Javascript输入一个月的名字?

  21. 21

    MySQL显示12个月的间隔,没有前半个月

  22. 22

    在Emacs中将光标移动到12个月旋转日历中的日期的算法

  23. 23

    连续6个月

  24. 24

    如何仅使用PHP在来自oracle的原始日期中添加一个月?

  25. 25

    在sqlite数据库中仅获取日期以来的一个月

  26. 26

    打印12个月的日历,仅输入年份。使用C

  27. 27

    mongo查询仅选择一个月的第一天

  28. 28

    JavaScript:打印之前的12个月-“三月”打印两次?

  29. 29

    完全一样的显示器相隔4个月购买了,输出不一样吗?

热门标签

归档