用JS写出两个数组合并成一个数组排序返回(输入: [5,2,10] [9,1] 输出: [1,2,5,9,10])
function mergeAndSort(arr1, arr2) {
// 合并两个数组
var mergedArray = arr1.concat(arr2);
// 对合并后的数组进行排序
mergedArray.sort(function(a, b) {
return a - b;
});
// 返回排序后的数组
return mergedArray;
}
// 示例输入
var arr1 = [5, 2, 10];
var arr2 = [9, 1];
// 调用函数并输出结果
console.log(mergeAndSort(arr1, arr2));
concat()方法
concat() 方法用于合并两个或多个数组。它不会改变现有数组,而是返回一个新数组,其中包含从调用concat()方法的数组中复制的元素,以及任何参数中提供的数组的元素。
array.concat(value1, value2, ..., valueN)
返回值:
一个新数组,包含调用concat()方法的数组和所有参数的元素。
示例
var arr1 = [1, 2, 3];
var arr2 = [4, 5];
var arr3 = arr1.concat(arr2);
console.log(arr3); // 输出: [1, 2, 3, 4, 5]
底层原理
concat() 方法在底层实现时会创建一个新的数组,并将原始数组的元素复制到新数组中,然后将传递给concat()方法的数组的元素依次复制到新数组的末尾。因此,concat() 方法的时间复杂度为 O(n),其中 n 是所有数组元素的总数。
sort()方法
在这里插入代码片
sort() 方法用于对数组的元素进行排序,并返回排序后的数组。默认情况下,sort() 方法按照字符串Unicode码点的顺序进行排序。但也可以提供一个比较函数来指定排序的顺序。
array.sort(compareFunction)
返回值:
排序后的数组。
示例
var arr = [10, 2, 5, 1];
arr.sort(function(a, b) {
return a - b; // 升序排序
});
console.log(arr); // 输出: [1, 2, 5, 10]
底层原理
sort() 方法的底层实现通常使用一种高效的排序算法(例如快速排序或归并排序),以便在最佳情况下达到 O(n log n) 的时间复杂度。排序算法会根据提供的比较函数(如果有的话)来比较数组元素并进行排序。