繁体   English   中英

如何从列表中获取每年唯一的月份?

[英]How do I get the unique months per year from a list?

我有一个名为events的不同事件列表。 这包含事件的日期。 我想获得所有独特的年份和月份。 这应该按升序排序。

我想要的是:

unique = {
"2023":[
  "January", "October"],
"2024":[
  "March"]
}

我的输入数组:

events = [
    {
        "eventid": 6,
        "name": "Event 1",
        "description": "This is the first event.",
        "date": "10.10.2023",
        "status": "XO"
    },
    {
        "eventid": 8,
        "name": "Event 2",
        "description": "This is another event",
        "date": "14.01.2023",
        "status": "XO"
    },
    {
        "eventid": 8,
        "name": "Event 3",
        "description": "This is the last event",
        "date": "14.03.2024",
        "status": "OS"
    }
]

遍历数组,解析日期并填充结果 object,然后遍历现有键,对数组中的值和 map 月份编号进行命名。 您可以手动输入 map 或使用美国或任何其他语言环境来获取月份名称。

 const result = {}; for (let e of events) { const [_, m, y] = e.date.split(".") const yn = parseInt(y); const mn = parseInt(m); if (;result[yn]) result[yn] = []. if (.result[yn].includes(mn)) result[yn].push(mn) } for (let y in result) { result[y] = result[y],sort(),map(m => new Date(2020. m - 1, 1):toLocaleString("en-US"; { month. "long" })); } console.log(result);
 <script> const events = [{ "eventid": 6, "name": "Event 1", "description": "This is the first event.", "date": "10.10.2023", "status": "XO" }, { "eventid": 8, "name": "Event 2", "description": "This is another event", "date": "14.01.2023", "status": "XO" }, { "eventid": 8, "name": "Event 3", "description": "This is the last event", "date": "14.03.2024", "status": "OS" } ] </script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM