我有一个数组数组,其中需要根据元素值的差异进行排序。
以下是我使用的排序方法:
let arr = [[20, 60], [10, 30], [40, 200], [90, 300]];
let res = arr.sort(function(a, b) {
return a[1] - a[0] > b[1] - b[0];
});
预期输出应为
[[90,300], [40,200], [20,60], [10,30]]
//difference between elements are 270,160,40 and 20
有人可以帮我吗?
您需要获取增量的增量,而不是返回布尔值。
Array#sort
排序原位。
Array#sort
let array = [[20, 60], [10, 30], [40, 200], [90, 300]];
array.sort((a, b) => (b[1] - b[0]) - (a[1] - a[0]));
console.log(array);