【发布时间】:2019-12-02 22:27:26
【问题描述】:
我有一个数组,其绝对值保证小于 10。
我现在正在做的是使用Array.prototype.sort()按升序对其进行排序:
myArray.sort(function (a, b) {
return a - b;
})
但任务是按组排序而不重复,换句话说,有一个数组
a = [1,2,2,3,1,4,4,2,9,8]
我需要得到输出
b = [1,2,3,4,8,9,1,2,4]
我有一个想法在函数表达式中使用Array.prototype.push() 将重复的数字添加到数组的末尾。但是由于明显的原因,由于存在范围,我不能这样做:
myArray.sort(function (a, b) {
if(a === b){
this.myArray.push(b);
return 0;
}
else{
return a - b;
}
})
是否可以使用Array.prototype.sort() 来实现我的想法,或者编写一个单独的函数是否更容易、更正确?
【问题讨论】:
-
@MarkMeyer 另一个例子:
a = [1,1,2,2,3,3,4,4,5,5]期望输出:b = [1,2,3,4,5,1,2,3,4,5] -
对不起@Nikita——我看错了问题,没有看到你发布的例子。
标签: javascript arrays function sorting