javascript排序错误用法的一个例子
我们认为,最有可能它实际上并没有在第一的排名发生,根据一个数组按降序属性在我们第二次不只要对线阵列的原始顺序移动(通常在方法返回0或1),只考虑单独的B等1前面提到过的元素。但事实上,这是由语言的相关排序算法的选择。Javascript(和其他语言)内置排序方法采用了几种排序算法集合。有时,它不能保证同一个元素的位置是一致的。
这是StackOverflow例
复制代码代码如下所示:
无功arraytosort = {
{姓名:'a',强度:1 },{姓名:B,强度:1 },{姓名:C,强度:1 }。
{姓名:e、强度:1 },{姓名:F,强度:1 },{姓名:一,强度:1 }。
{姓名:'i',强度:1 },{姓名:J,强度:1 },{名称:k,强度:1 }。
{姓名:是的,强度:1 },{名称:n,强度:1 },{名称:O,强度:1 }。
{姓名:Q,强度:1 },{姓名:R,强度:1 },{姓名:是的,强度:1 }。
};
ArrayToSort.sort(功能(A,B){
返回b.strength - a.strength;
});
ArrayToSort.forEach(功能(元){)
console.log(元素名称);
});
我们将假定最后一个元素的值是从a到t,但实际操作结果是无序的。这是因为排序算法不能保持原始数组的顺序,即不稳定。
我们应该尽量避免这种情况发生。对于我的同事来说,一次合并两种排序逻辑是可行的方法。如果必须将其划分为多个排序,则应将原始数组的顺序记录在元素的属性上。