javascript - 如何在 Javascript 中打印一次日期标签

标签 javascript vue.js

我正在使用 vueJs 构建一个聊天应用程序,我想像 Whats app 一样显示日期标签。

客户端以以下格式接收消息

{

    {
        author: 21,
        created_at: "12:09 pm",
        data: "chat message",
        message_group: "today",
        type: "text" 
    },
    {
        author: 22,
        created_at: "11:30 pm",
        data: "chat message 2",
        message_group: "today",
        type: "text"
    },
    {
        author: 22,
        created_at: "11:29 pm",
        data: "chat message 3",
        message_group: "yesterday",
        type: "text"
    }
}

如何以以下格式打印消息。

Yesterday
    Chat Message 3
Today
    Chat Message 2
    Chat Message     

如何在不分组数组的情况下做到这一点?

谢谢

最佳答案

无法在评论中做到这一点,因此将其作为答案。

您可以使用计算属性getter (vuex)来获取日期标签,而无需按如下方式分组

// Do your sorting first
computed: {
  dayLabels() {
    return a.reduce((acc, message) => {
      if (!acc.includes(message.message_group)) {
          acc.push(message.message_group);  
      }
      return acc;
    }, []);
  }
}

关于javascript - 如何在 Javascript 中打印一次日期标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58533993/

相关文章:

javascript - 我可以检测用户何时使用后退按钮进入页面吗?

events - Vuejs 设置事件总线

javascript - 名为 slot "activator"的 Vue JS Vuetify 菜单未绑定(bind)到模板,而是转到 "default"

c# - 使用 OpenID Connect (AWS Cognito) 时如何避免 CORS 问题?

javascript - 使用 vue js 在 laravel 中形成模式绑定(bind)

javascript - 模块模式真的必须是单例模式吗?

javascript - 更改函数内的原型(prototype)

javascript - 在 jQuery 中获取父元素

javascript - 如何在javascript中的href标签中添加来自json数据的url

vue.js - $el 未定义,而 $ref 在 Vuejs 3 中有一个对象