本文主要是介绍前端每日一题day1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
用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) 的时间复杂度。排序算法会根据提供的比较函数(如果有的话)来比较数组元素并进行排序。
这篇关于前端每日一题day1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!