<script>
var arr1 =[1,4,0,6,3,2];//定义一个无序数组
//定义一个函数
function quickArray(arr){
var left = [],right =[];
if(arr.length <= 1){
return arr;
}
var index = Math.floor(arr.length/2);//取一个基准值,此时取出来的为一个数组
var p = arr.splice(index,1)[0];//取出数组中的基准值(将基准值从原数组中截取出来)
for (var i=0;i<arr.length;i++){
if(arr[i] <= p){
left.push(arr[i]);
}else{right.push(arr[i]);
}
}
//运用递归
return quickArray(left).concat(p,quickArray(right));//将左右两边数组连接起来
};
console.log(quickArray(arr1));
</script>
注意
1.splice() 方法用于添加或删除数组中的元素。
这种方法会改变原始数组。
返回值
如果仅删除一个元素,则返回一个元素的数组。 如果未删除任何元素,则返回空数组。
2.Math.floor() 方法返回小于等于x的最大整数。
如果传递的参数是一个整数,该值不变。
3.push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
新元素将添加在数组的末尾。
此方法改变数组的长度。
提示: 在数组起始位置添加元素请使用 unshift() 方法。
实例
数组中添加新元素:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.push(“Kiwi”)
fruits 结果输出:
Banana,Orange,Apple,Mango,Kiwi