我很难理解如何使用array.sort()方法,根据每个对象中的数字值对对象数组进行排序。实际上,我的场景如下:
var myarray = []
myarray.push({name: "alex", age: 8})
myarray.push({name: "ben", age: 57})
myarray.push({name: "dan", age: 32})
结果的初始顺序应该是“alex, ben, dan”。现在我想按年龄对这个数组进行排序,所以年龄最大的人首先出现在列表中。排序后的顺序应该是“ben, dan, alex”。怎样用最简单的方式实现这个目标?
ben
,dan
,alex
。 - Jack Bashford.sort()
方法有两个作用,它会改变原始数组使其按顺序排序,并且还会返回对原始数组的引用(现在已经排序)。在上面的例子中,myarray
也被排序了。如果您不想让myarray
排序,您可以在排序之前制作一个浅拷贝:myarray.slice().sort(...)
。 - Nick Parsons