如何根据两个对象属性对对象数组进行排序
How can I sort an array of objects based on two of the obects' properties?
我有以下对象数组:
eventJsonArr[0] = { eventName: "Event One", eventYear "2012"}
eventJsonArr[1] = { eventName: "Event Two", eventYear "2011"}
eventJsonArr[2] = { eventName: "Event Three", eventYear "2012"}
eventJsonArr[3] = { eventName: "Event Four", eventYear "2013"}
eventJsonArr[4] = { eventName: "Event Five", eventYear "2010"}
eventJsonArr[5] = { eventName: "Event Six", eventYear "2011"}
无论如何,我可以根据每个对象的属性对这个数组进行排序吗?简而言之:我所需要的只是能够首先按eventYear
降序对对象数组进行排序,然后按升序eventName
排序。
我想我需要它来模拟如果 eventName
和 eventYear
是列,数组的每个索引都是行,并且它包含 ORDER BY eventYear DESC, eventName ASC
的 SQL 会做什么。
"页面预览"一起使用,因此它的行为必须与我设置的查询实际数据库的页面完全相同(如上所述)。
附加信息:
我实际上是在 jquery .each()
循环中一次.push()
一个值,所以如果需要在我实际将值添加到数组时做某事,而不是实际对完整值数组进行排序,这是可以做到的(虽然,我不确定那里需要的逻辑)。
这是我在发布此问题之前尝试过的:
eventJsonArr.sort() //As a start, just to see what it did.
然后:
evenJsonArr.sort(function(a, b) { //I got the basic function to sort, which it did.
a.eventYear - b.eventYear
});
除了这个功能之外,我真的找不到任何与我的情况相关的内容。至少不是我发现的。
以下是我试图研究以帮助我的一些页面:
- http://www.javascriptkit.com/javatutors/arraysort2.shtml
- https://gist.github.com/onpubcom/1772996
- 按日期对 Javascript 对象数组进行排序
- 在 JavaScript 中按字符串属性值对对象数组进行排序
- (甚至是可怕的W3学校。您可能会猜到这没有帮助)。
"我所需要的只是能够首先按
eventYear
、descending
顺序,然后按eventName
顺序ascending
对对象数组进行排序。"
eventJsonArr.sort(function(a, b) { // eventYear DESC
return a.eventYear !== b.eventYear ? b.eventYear - a.eventYear :
a.eventName.localeCompare(b.eventName);
}); // eventName ASC
相关文章:
- 如何从对象的原型方法访问JavaScript对象属性
- 如何将数组项添加到对象属性中
- 设置嵌套对象属性的更好方法
- JavaScript管理具有重复属性名称的对象属性
- 如何使用element.myobj.prop等具有对象属性的元素
- 如何使用(this)访问Angular 2 http rxjs catch函数中的对象属性
- Es6:能够在设置/更新/删除对象属性时调用自定义方法
- 如何在AngularJS工厂中正确声明对象属性
- 如何使用object.assign()从其他对象引用基本对象属性
- 使用XPath样式访问Javascript JSON对象属性
- 将javascript对象(属性+值)合并到一个对象中
- 数组:使对象属性成为数组键
- 无法从JavaScript中的函数调用对象属性
- Google Closure Advanced |无法识别对象属性|动态属性
- Javascript从匿名函数访问外部对象属性
- 从函数更改对象属性
- 如何从字符串变量访问对象属性
- 从嵌套对象属性中获取排除某个值的最高值
- 在Aurelia computeds中,当设置依赖关系时,如何声明对对象属性的依赖关系
- 传递数量不确定的可能嵌套的对象属性