javascript - 基于 "Date"的数据的数据结构

标签 javascript arrays sorting data-structures

注意:我使用的语言是 Javascript

我有一个对象数组。每个对象都有三个属性:年份、日期、标题。 例如:

[ 
  {
    year: 2013, date: "23/10/2013", title: "Title1"
  }, 
  {
    year: 2012, date: "4/2/2012", title: "Title2"
  }
]

我需要从这个数组中创建一个有效的数据结构,以便:

  • 所有具有相同年份的对象都分组在一起,并且组根据“年份”排序
  • 具有相同日期和标题的所有对象都会分组在一起。具有不同日期的对象被排序。

数据结构应该能够高效地读取和遍历(我需要以某种时间线的形式呈现它们)。

最佳答案

所以,您可能想要这样的东西:

var objects = {
    "2012":{
        "4/2/2012":{
            "title1":[
                //array of objects
            ],
            "title2":[
                //array of objects
            ],
            // etc
        },
        "5/9/2012":[
            "title3":[/*objects*/],
        ],
    },
    "2013":{
        // etc
    }
}

然后你就可以像这样访问对象数组:

objects["2012"]["5/9/2012"]["title1"]

所以:

objects["year"]["date"]["title"];

关于javascript - 基于 "Date"的数据的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24484526/

相关文章:

c - 我必须对代码进行哪些更改才能对负数进行排序?

javascript - 仅捕获 "unhandled" promise 的全局错误处理程序

javascript - 在 iframe 上时检测鼠标移动吗?

javascript - 如何在ajax请求中转义括号?

javascript - 在添加它们的值后找到那些等于 x 的元素的索引

Javascript 将列表发送到 asmx 服务

javascript - 如何用另一个变量的值命名变量? JS

c++通过一个函数修改多个数组

python - 从字符串和整数的元组中,获取元组内最接近给定值的数字

python - 在 python 中对 csv 进行排序没有发生