// 冒泡排序
var arr=[2,32,12,334,5,12,1];
for(var i=0;i){
for(var j=arr.length-1;j>=i;j--){
if(arr[i]>arr[j]){
var c=arr[i];
arr[i]=arr[j];
arr[j]=c
}
}
}
console.log(arr);
// 数组去重
var arr=[1,2,4,22,2,21,12,2,3];
var result=[];
// 遍历数组,判断数组在不在新数组中
for(var i=0;i){
if(!result.includes(arr[i])){
result.push(arr[i]);
}
}
console.log(result)
// 数组随机样本取3个
var arr=[1,2,1.2,33,42,1,55];
var result=[];
//区间[a,b] (math.random()*(b-a+1))+a
for(var i=0;i<3;i++){
// 获取随机数组下标
var x=parseInt(Math.random()*arr.length);
// console.log(arr[x])
// 数组存入新的数组中,并删除原数组防止重复
result.push(arr[x]);
arr.splice(x,1);
}
console.log(result)
//浅克隆:引用类型值,一维数组
var arr=[1,2,1,2,11,22];
var b=[];
for(var i=0;i b.push(arr[i]);
}
console.log(b);
if(arr==b){
console.log('因为数组是引用类型,两个数组判断值相同的依据是数组下标相同')
}else{
if(arr[0]==b[0]){
console.log('克隆完毕')
}
}
var arr=[1,2,22,1,23,1,[22,1,2,33,[22,11]]];
// 递归方式深克隆
function deepClone(){
// 新数组(局部变量)
var result=[];
// 浅克隆
for(var i=0;i){
// 判断浅克隆后的数据是基本数据类型还是数组
// 若为数组:递归函数
// 若为基本数据类型:存入新数组
if(Array.isArray()){
deepClone(arr[i]);
}else{
result.push(arr[i]);
}
}
return result;
}
deepClone();