请帮我把我的2个阵列asc排序和desc排序.我的解决方案没有奏效
function solve(arr){
var descArr = [];
var ascArr = [];
ascArr = arr.sort(function(a, b) {
return a - b;
});
descArr = arr.sort(function(a, b) {
return b - a;
});
console.log(descArr);
console.log(ascArr);
};
solve([15,11,10,7,12])
Run Code Online (Sandbox Code Playgroud)
Console.log显示类似的排序数组.
要获取descArr,切片以获得数组的浅表副本并进行排序.Slice descArrand Array#reverse to get ascArr.
您需要使用Array#slice来获得浅层克隆,因为Array#sort和Array#reverse都已到位,这意味着它们会改变原始数组.
function solve(arr){
var descArr = arr.slice().sort(function(a, b) {
return a - b;
});
var ascArr = descArr.slice().reverse();
console.log(descArr);
console.log(ascArr);
};
solve([15,11,10,7,12])Run Code Online (Sandbox Code Playgroud)