我有以下数组:
var events = [
{id : 1, start : 100, end : 120},
{id : 2, start : 60, end : 240},
{id : 3, start : 700, end : 720}
];
Run Code Online (Sandbox Code Playgroud)
如何start在保留以下内容的基础上对索引进行排序id:
var events = [
{id : 2, start : 60, end : 240},
{id : 1, start : 100, end : 120},
{id : 3, start : 700, end : 720}
];
Run Code Online (Sandbox Code Playgroud)
我试过了:
events.sort()
events.sort(function(a,b){return a-b});
Run Code Online (Sandbox Code Playgroud)
但都没有奏效:(
该array.sort(..)函数将数组的两个元素(正在进行比较)传递给您指定的比较器函数.因为,在那种情况下,a和b对象一样{id : 3, start : 700, end : 720},它们不能真正地比较a-b.
请改用:
events.sort(function(a,b){return a.start - b.start;});
Run Code Online (Sandbox Code Playgroud)