方法一,将两个数组合并然后排序
在JS中数组合并有以下几种方式
1.concat(js中 Array的内置方法)
var c = a.concat(b);
缺点:旧数组仍存在,在进行多次数组合并时有内存浪费的问题
2.for循环
遍历其中一个数组,把该数组中的所有元素依次添加到另外一个数组中
for(var i in b){
a.push(b[i]);
}
3.apply方法
利用函数的apply方法
a.push.apply(a,b);
等同于a.push(1,2,3);
实现的代码
function array(arr1,arr2){
var arr1=[1,3,4,5,9,11,13,15,17,18,19];
var arr2=[2,3,4,5,7,8,9,10,15,19];
var temp;
var arr = arr1.concat(arr2);
for(var i=0;i<arr.length-1;i++){
min=i;
for(var j=i+1;j<arr.length;j++){
if(arr[j]<arr[i]){
temp= arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
alert(arr);
}
array();
方法二,两个数组中的数进行比较把小的放入另一个数组中
function array(arr1,arr2){
var arr1=[1,3,4,5,9,11,13,15,17,18,19];
var arr2=[2,3,4,5,7,8,9,10,15,19];
var i=0;
var j=0;
var arr=[];
while(i<arr1.length && j<arr2.length){
if(arr1[i]<=arr2[j]){
arr.push(arr1.slice(i,i+1)[0]);
i++;
}else{
arr.push(arr2.slice(j,j+1)[0]);
j++;
}
}
while(i<arr1.length){
arr.push(arr1.slice(i,i+1)[0]);
i++;
}
while(j<arr2.length){
arr.push(arr2.slice(j,j+1)[0]);
j++;
}
alert(arr);
}
array();