对JS对象的多个项目进行排序,包括日期
sort JS object on multiple items, including Dates
试图解决这个问题,但不确定是否真的是
我有一个JSON对象,它包含多个项目,如下面的
DATA_TABLE = [{"rownum": 0, "Surname": "Doe", "Firstname": "John", "Dob": "1 Jan 1980"}...]
我想按DOB、姓氏和名字对数据进行排序,以获得相同的结果,例如sql语句
ORDER BY Dob, Surname, Firstname
您可以使用以下代码:
DATA_TABLE.sort(function(a, b) {
return new Date(a.Dob) - new Date(b.Dob)
|| ((a.Surname < b.Surname ) ? -1 : (a.Surname > b.Surname ) ? 1 : 0)
|| ((a.Firstname < b.Firstname) ? -1 : (a.Firstname > b.Firstname) ? 1 : 0) ;
});
Js投标样品
您可以使用Alasql库:
var DATA_TABLE = [{"rownum": 0, "Surname": "Doe", "Firstname": "John", "Dob": "1 Jan 1980"},
{"rownum": 1, "Surname": "America", "Firstname": "Captain", "Dob": "1 Jan 1940"},];
var res = alasql('SELECT *, DATE(Dob) AS d FROM ? ORDER BY d, Surname, Firstname',[DATA_TABLE]);
在jsFiddle中尝试这个例子。
由于原始的Dob列具有字符串类型,为了正确排序,我添加了额外的列"d"。
相关文章:
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- 使用promise和mongoose对文档进行排序
- Selectize.js:如何对整数值的选项进行排序
- Javascript排序的图像弹出窗口..可以't单独弹出
- 包括用于facebook评论框的JavaScript SDK
- 如何通过引用var Using DataTables来进行分页或排序
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- AngularJs对所有页面中的所有记录进行排序
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- 查找元素高度,包括边距
- 按从高到低对多个int变量进行排序
- jQuery UI可排序-多连接列表拖动
- Javascript排序字符串或数字
- 2个backbone.js集合,具有相同的模型,但排序顺序不同
- asp.net,包括iss上的javascript slow
- 根据另一个数组对数组进行排序,包括位置和字符串[ES6]
- 对JS对象的多个项目进行排序,包括日期
- 在jQueryUI可排序的表之间移动一列,包括th
- MongoDB:我如何重新格式化这段代码,以包括名称字段上的排序
- 对彼此链接的多行进行排序(包括小提琴示例)