将数组随意打乱的方法
for(let i=0;i<array.length;i++){
let index = (int)(Math.random*array.length);
let temp = array[i];
array[i] = array[index];
array[index] = temp;
}
移动数组的元素
var temp = array[0];
for(let i=0;i<array.length;i++){
array[i-1]=array[i];
}
array[array.length-1] = temp;
js复制数组的方法(共三种)
方法一、创建一个新的数组,并将源数组中的元素压入到新的数组中
代码如下
array.prototype.clone = function(){
var a = [];
for(let i=0,len = this.length;i<len;i++){
a.push = this[i];
return a;
}
}
方法二、通过Array对象的slice方法来复制一个数组
注:slice方法是通过参数start和end来返回数组中的一段,该方法不对原数组进行操作.我们可以通过slice(0)使其返回所有的项。
代码如下:
array.prototype.clone = function(){
return this.slice(0);
}
方法三、通过array对象的concat方法来复制一个数组
代码如下:
array.prototype.clone = function () {
return [].concat(this);
}
js对数组进行排序(选择排序和插入排序)
一、选择排序
var arr = [12,24,98,5,3,54,23];
console.log(arr);
for(var i=0;i<arr.length;i++){
var currentMin = arr[i];
var currentIndex = i;
for(var j = i+1; j < arr.length; j++){
if(currentMin > arr[j]){
currentMin = arr[j];
currentIndex = j;
}
}
if(currentIndex != i){
arr[currentIndex] = arr[i];
arr[i] = currentMin;
}
}
console.log(arr);
二、插入排序
function insertSort(){
var arr = [43,65,24,3,75,765];
console.log(arr);
var key;
var i;
for(var j=1;j<arr.length;j++){
key = arr[j];
i = j - 1;
while(i>-1&&arr[i]>key){
arr[i+1]=arr[i];
i = i-1;
}
arr[i+1] = key;
}
console.log(arr);
}
insertSort();