怎么排序两个数组?

sup*_*dr1 -5 javascript

请帮我把我的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显示类似的排序数组.

的jsfiddle

Ori*_*ori 5

要获取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)