方法一、递归思想实现多个数组的排序
使用递归思想实现数组排序方法的定义:
递归排序
recursiveSort(array) {
//递归结束条件
if (array.length <= 1) {
return array;
}
//取中间元素的索引
var index = Math.floor(array.length / 2);
//获取中间元素
var temp = array.splice(index, 1);
var left = [];
var right = [];
for (var i = 0; i < array.length; i++) {
if (array[i] < temp) {
left.push(array[i]);
} else {
right.push(array[i]);
}
}
return this.recursiveSort(left).concat(temp, this.recursiveSort(right));
},
使用:
var arr1 = [20, 12, 16, 3, 59, 26];//数组1
var arr2 = [7, 11, 23, 29, 59, 67];//数组2
var arrConcat = arr1.concat(arr2);//数组合并
let result = this.recursiveSort(arrConcat);//合并数组进行排序
以上是将合并后的数组从小到大进行排序,如若需要数组里面数据从大到小排序使用reverse()方法即可
方法二、sort()方法结合比值函数实现排序
var arr1 = [20, 12, 16, 3, 59, 26];
var arr2 = [7, 11, 23, 29, 59, 67];
var arrConcat = arr1.concat(arr2).sort(function (a, b) {
return a - b; //升序
// return b-a; //降序
});
console.warn(arrConcat);
//[3, 7, 11, 12, 16, 20, 23, 26, 29, 59, 59, 67]