【发布时间】:2015-12-29 01:52:45
【问题描述】:
我发现原生 js 排序功能时常出错,所以我想实现自己的。可以说我有以下内容:
Array.prototype.customSort = function(sortFunction, updated) {...}
var array = [5, 2, 3, 6]
array.customSort(function(a,b) {return a - b})
console.log(array)
数组应该是 [2, 3, 5, 6]
Updated 是已排序的数组。
无论我在customSort中返回什么,数组的顺序还是原来的顺序。如何覆盖“this”值/让它以正确的顺序指向数组?
【问题讨论】:
-
搞砸了是什么意思?
[5, 2, 3, 6].sort(function (a, b) { return a - b; })每次都能完美运行。 -
我并不是说在这种情况下它搞砸了。我发现它没有正确排序的实例。我试图给出一个非常简单的示例,说明我希望 customSort 函数返回什么。我认为我在这一点上很清楚。
-
你为什么不给出失败的实际例子呢?
-
因为我认为您正在尝试解决您不需要的问题。我认为您使用
sort错误。如果您提出您在sort中遇到的实际 问题,我们可以解决该问题,因此您无需搞砸原型。这称为 XY 问题。当你应该解决 X 时,你却忙于解决 Y。
标签: javascript arrays sorting prototype this