【问题标题】:Arrange array of objects based on the condition根据条件排列对象数组
【发布时间】:2021-10-26 09:03:43
【问题描述】:
const notificdations = [
  {
    to: "13101",
    senderId: "13279",
    senderFullName: "Md Taaj Uddin",
    type: "ON_BREAK",
    message: "Md Taaj Uddin was on break since last 2 minutes.",
    createdAt: "2021-08-20T10:12:00.068Z",
    status: "read",
  },
  {
    to: "13101",
    senderId: "13267",
    senderFullName: "Md Taaj Uddin",
    type: "IDLE",
    message: "Md Taaj Uddin is idle since last 18 minutes.",
    createdAt: "2021-08-20T10:29:56.623Z",
    status: "read",
  },
  {
    to: "13101",
    senderId: "13213",
    senderFullName: "Gaurav Rajput",
    type: "ON_BREAK",
    message: "Gaurav Rajput was on break since last 5 minutes.",
    createdAt: "2021-08-20T10:32:00.068Z",
    status: "read",
  },
  {
    to: "13101",
    senderId: "13214",
    senderFullName: "Saurav Rajput",
    type: "ON_BREAK",
    message: "Saurav Rajput was on break since last 5 minutes.",
    createdAt: "2021-08-20T10:35:00.068Z",
    status: "read",
  },
  {
    to: "13101",
    senderId: "13266",
    senderFullName: "Rohan",
    type: "IDLE",
    message: "Rohan is idle since last 18 minutes.",
    createdAt: "2021-08-20T10:40:56.623Z",
    status: "read",
  }
];

我想知道如何在上述情况下排列对象数组。我希望上面的对象数组根据类型排列意味着相同的类型聚集在一起并根据 createdAt 键在类型中升序。 有什么帮助吗?

【问题讨论】:

    标签: javascript arrays object conditional-statements


    【解决方案1】:

    我的建议:使用 Object 将类型定义为键并将相关数据存储在数组中。

    const arrangedNotifications = {
      IDLE: [
        {
          to: "13101",
          senderId: "13267",
          senderFullName: "Md Taaj Uddin",
          message: "Md Taaj Uddin is idle since last 18 minutes.",
          createdAt: "2021-08-20T10:29:56.623Z",
          status: "read",
        },
        {
          to: "13101",
          senderId: "13266",
          senderFullName: "Rohan",
          message: "Rohan is idle since last 18 minutes.",
          createdAt: "2021-08-20T10:40:56.623Z",
          status: "read",
        },
      ],
      ON_BREAK: [
        {
          to: "13101",
          senderId: "13279",
          senderFullName: "Md Taaj Uddin",
          message: "Md Taaj Uddin was on break since last 2 minutes.",
          createdAt: "2021-08-20T10:12:00.068Z",
          status: "read",
        },
    
        {
          to: "13101",
          senderId: "13213",
          senderFullName: "Gaurav Rajput",
          message: "Gaurav Rajput was on break since last 5 minutes.",
          createdAt: "2021-08-20T10:32:00.068Z",
          status: "read",
        },
        {
          to: "13101",
          senderId: "13214",
          senderFullName: "Saurav Rajput",
          message: "Saurav Rajput was on break since last 5 minutes.",
          createdAt: "2021-08-20T10:35:00.068Z",
          status: "read",
        },
      ],
    };
    

    【讨论】:

      猜你喜欢
      • 2018-11-01
      • 2013-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-04
      • 1970-01-01
      相关资源
      最近更新 更多