我有一个JavaScript对象数组:
var objs = [
{ first_nom: 'Lazslo', last_nom: 'Jamf' },
{ first_nom: 'Pig', last_nom: 'Bodine' },
{ first_nom: 'Pirate', last_nom: 'Prentice' }
];
Run Code Online (Sandbox Code Playgroud)
如何根据last_nomJavaScript中的值对它们进行排序?
我知道sort(a,b),但这似乎只适用于字符串和数字.我是否需要为toString()对象添加方法?
在我的结果中,学生应按Room-Id分组(!),然后在组内按年龄分类.
按房间分组/排序的结果:
Name | R | Age
-------------------
Student 2 | 1 | 22
Student 4 | 1 | 25
Student 3 | 3 | 21
Student 6 | 3 | 27
Student 1 | 5 | 29 <- Wrong, should be: Student 5, Room 5, Age 23
Student 5 | 5 | 23 <- Wrong, should be: Student 1, Room 5, Age 29
Run Code Online (Sandbox Code Playgroud)
我目前的代码(JSFiddle:http://jsfiddle.net/n9KNx/):
<script type="text/javascript">
/* add students */
var students = …Run Code Online (Sandbox Code Playgroud) 我有一组具有两个属性的对象:名称和小时.
例如:
array = [
{name: "ANDY", hours: 40 },
{name: "ANDY", hours: 50 },
{name: "GREG", hours: 40 },
]
Run Code Online (Sandbox Code Playgroud)
例如,在我的数组中,我希望排序的结果是Andy的小时数最多,Andy的小时数稍长,然后是Greg,因为他的名字后来按字母顺序排列,依此类推.
由于array.sort()函数传递数组的两个元素进行比较,我意识到这不是我的方法,但未能提出一个优雅的解决方案.请帮帮我.