如何形成独特的年、月、日的嵌套结构?

2024-04-08

我有一个日期数组,如下所示:

[
  "2020-06-20T11:18:40.359Z",
  "2020-06-15T11:17:45.511Z",
  "2020-05-13T11:19:45.511Z",
  "2019-04-20T11:49:27.828Z"
]

我该怎么做才能从数组中获取以下结构?

{
  2020: {
    5: [
      20, 15
    ],
    4: [
      13
    ]
  },
  2019: {
    3: [
      20
    ]
  }
}

我认为值得注意的是,初始数组可能包含数千甚至数万个日期,并且每秒都会更新。


由于您需要在这里对数据进行分类,因此最好的方法是reduce()的函数array。在reduce内部,我们将一个空对象传递给accumulator开始对数据进行分组。然后我们会得到year, month and date从当前迭代元素。我在这里解构了这些价值。其余的逻辑从代码中很容易理解。

var data=[ "2020-06-20T11:18:40.359Z", "2020-06-15T11:17:45.511Z", "2020-05-13T11:19:45.511Z", "2019-04-20T11:49:27.828Z"];

var result = data.reduce((acc, elem)=>{
   const [year, month, day]  = [new Date(elem).getFullYear(), new Date(elem).getMonth(), new Date(elem).getDate()];
   acc[year] = acc[year] || {};
   acc[year][month] = [...(acc[year][month] || []), day];
   return acc;
},{});

console.log(result);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何形成独特的年、月、日的嵌套结构? 的相关文章

随机推荐

  • Python:确定数字是否为平方、立方等的函数[重复]

    这个问题在这里已经有答案了 我的简单问题是创建一个函数来确定数字 N 是否可以写成a n对于某些给定的 n 即我需要检查是否N 1 n 是一个整数 不知何故 这个函数会产生错误的结果 def is power N n r float N 1
  • 如何将 Address 对象数组传递给另一个 Activity

    我正在尝试传递一系列Address http developer android com reference android location Address html通过 Intent 对象传递给另一个 Activity 的对象 由于 A
  • 值注释在 Junit 测试中不起作用

    SpringBootTest public class RuleControllerTest Value myUrl private String myUrl private HttpClient httpClient HttpClient
  • 在 C# 中处理非验证 SSL 证书的最佳方法是什么

    我使用以下代码来确保所有证书都通过 甚至是无效的证书 但我想知道是否有更好的方法 因为此事件被全局调用 而我只希望证书通过某个 HTTP 调用而不是对于任何其他异步发生的事情 This delegate makes sure that no
  • 保存 Excel 文档 Apache POI

    我需要从 Excel 文档创建信息 我使用 Java 和 Apache POI 这是我的代码 Get path with JFileChooser public static String LeeRuta JFileChooser choo
  • CATransform3D 旋转导致一半图像消失

    我使用以下代码来旋转图像 但已旋转到页面 之外 的图像的一半 沿 y 轴向下 消失了 怎么修 heading以弧度为单位 CALayer layer myUIImageView layer CATransform3D rotationAnd
  • 禁用“使用 use strict 的函数形式”,但保留“缺少 'use strict' 语句”警告

    我正在使用 jslint 来验证我的代码 我的所有页面上都有 use strict 如何禁用消息 使用 use strict 的函数形式 但保留 缺少 use strict 语句 警告 这样我就不会忘记将其放在新文件中 Thanks 根据克
  • free 不会删除分配给指针(int 数组)的内存,使用 free 两次可以工作,为什么?

    这是出于好奇 我试图找到我对之前问题的疑问的答案 但他们似乎没有答案 所以在这里询问 我刚刚编写了一段代码 试图将内存分配给 int 指针 以填充数组 并扫描 int 值 一旦我完成了数组 我想删除分配给指针的数据 内存 尽管我的代码工作正
  • 错误:pandas 哈希表 keyerror

    我已经使用 pandas 成功读取了 csv 文件 当我尝试从数据框中打印特定列时 我收到关键错误 特此 我分享带有错误的代码 import pandas as pd reviews new pd read csv D aviva csv
  • 离子科尔多瓦飞溅屏幕/图标

    我正在使用适用于 iOS 和 Android 的 Ionic Framework 设计一个应用程序 我配置了启动屏幕和图标 但当我在手机上运行该应用程序时 我仍然有默认的 Cordova 启动屏幕和图标 使用ionic run androi
  • 不完整日期的策略

    正在开发一个应用程序 我们希望用户能够输入不完整的日期 在某些情况下 只有一年 例如 1854 年 或者可能有一年和一个月 例如 1983 年 3 月 或者可能有完整的日期 2001 年 6 月 11 日 我们想要一个 日期 属性 列 并且
  • 在 Windows 上使用 bcrypt 3.0.1 和 ruby​​2.0 时出现问题

    有人在 Windows 8 上安装 bcrypt 3 0 1 或 3 1 2 时遇到任何问题吗 我尝试过测试不同的版本 但出现此错误 但运行 Rails 服务器后出现此错误 无法加载此类文件 2 0 bcrypt ext 您的应用程序中没有
  • 本地#includes

    有没有某种方法可以在本地 include 标准内容 一次针对一个函数 一个类等 而不是全局的 举一个非常简单的例子 人们可能想使用 std string 但它只在一个类中需要 并且您不希望它的开销无处不在 而不是制作 include本地 您
  • componentWillReceiveProps 未触发

    在我的其他课程中 componentWillReceiveProps 工作得很好 但由于某种原因 它在这里没有触发 ItemView jsx class ItemView extends React Component constructo
  • MySQL 中多列的不同

    我希望找出 MySQL 数据库中不同行的计数 id val1 val2 val3 1 1 1 1 2 1 1 1 3 2 2 2 4 2 2 2 在上表中 查询将返回 val1 val2 val3 count 1 1 1 2 2 2 2 2
  • 如何在 case_when 语句中检测多个正则表达式

    我最近从 ifelse 转换为case when from dplyr Aim 我希望能够使用以下命令从数据帧中的语句中检测多个正则表达式case when如下 Input statement lt data frame statement
  • C++ 运算符查找规则 / Koenig 查找

    在编写测试套件时 我需要提供一个实现operator lt lt std ostream 供 Boost 单元测试使用 这有效 namespace theseus namespace core std ostream operator lt
  • 如何使用dotnetbrowser获取ajax请求响应正文?

    我已经浏览了 dotnetbrowser 网站上的文档 同时我看到了一个示例 展示了如何交叉 Ajax 调用或过滤 Ajax 调用 我想知道执行后是否可以获取 Ajax 请求正文响应 如果可能的话我该怎么做 是的 可以在 DotNetBro
  • 在 AWS lambda Node JS 的 http 响应标头中设置 Cookie

    我启用了 Lambda 代理集成 并将响应标头设置为 Lambda 输出和 API 网关的一部分 API 网关会将它们作为 HTTP 响应的一部分返回给客户端 示例代码 callback null statusCode 302 Locati
  • 如何形成独特的年、月、日的嵌套结构?

    我有一个日期数组 如下所示 2020 06 20T11 18 40 359Z 2020 06 15T11 17 45 511Z 2020 05 13T11 19 45 511Z 2019 04 20T11 49 27 828Z 我该怎么做才