标签:class sort color 数组 dex let return 方法 ++
// 数组的深复制
// concat
var arr = [1, 2, 3, 4, 5];
var arr1 = arr.concat();
arr[0] = 100;
console.log(arr)
console.log(arr1)
// slice
var arr = [1, 2, 3, 4, 5];
var arr1 = arr.slice(0);
arr[0] = 100;
console.log(arr)
console.log(arr1)
//ES6扩展运算符
var arr = [1, 2, 3, 4, 5];
var arr1 = [...arr]
arr[0] = 100;
console.log(arr)
console.log(arr1)
//for循环
var arr = [1, [10,20], 3, 4, 5];
var arr1 = []
for(var i=0;i){
arr1.push(arr[i])
}
arr[0]=100;
console.log(arr)
console.log(arr1)
// JSON转换
var arr = [1, [10,20], 3, 4, 5];
var arr1=JSON.parse(JSON.stringify(arr));
arr[1][1]=100;
console.log(arr)
console.log(arr1)
// 数组扁平化
var arr=[1,2,3,[10,20,[100,200,300]]]
var arr1=[]
function arrFlat(arr){
for(var i=0;i){
if(!arr[i].length){
arr1.push(arr[i])
}else{
arrFlat(arr[i])
}
}
}
arrFlat(arr)
console.log(arr);
console.log(arr1);
// 数组去重--indexOf
var arr=[1,2,3,4,3,2,1,5,6];
var arr1=[]
for(var i=0;i){
if(arr1.indexOf(arr[i])){
arr1.push(arr[i]);
}
}
console.log(arr);
console.log(arr1);
// 双重循环
var arr=[1,2,3,4,3,2,1,5,6];
var arr1=[];
for(var i=0;i){
var bool=true;
for(var j=0;j){
if(arr1[j]==arr[i]){
bool=false;
}
}
if(bool){
arr1.push(arr[i]);
}
}
console.log(arr)
console.log(arr1)
// 使用deleta实现
var arr=[1,2,3,4,3,2,1,5,6];
var arr1=[];
for(var i=0;i){
if(arr.indexOf(arr[i],i+1)>-1){
delete arr[i]
}
}
for(var item in arr){
arr1.push(arr[item])
}
console.log(arr)
console.log(arr1)
// 数组排序sort(a-b为小到大,反之大到小)
var arr=[1,2,6,13,4,3,11,22,5];
arr.sort((a,b)=>{
return a-b
})
console.log(arr);
// 选择排序
var arr=[1,2,10,6,12,33,5,3,4];
for(var i=0;i){
var checkVal=‘‘
for(var j=i+1;j){
if(arr[i]>arr[j]){
checkVal=arr[i];
arr[i]=arr[j];
arr[j]=checkVal
}
}
}
console.log(arr);
// 冒泡排序
var arr=[15,2,1,6,12,33,5,3,4];
for(var i=0;i){
var checkVal=‘‘;
for(var j=0;j){
if(arr[j]>arr[j+1]){
checkVal=arr[j];
arr[j]=arr[j+1];
arr[j+1]=checkVal
}
}
}
console.log(arr);
数组的深复制、扁平化、排序及去重相关方法
标签:class sort color 数组 dex let return 方法 ++
原文地址:https://www.cnblogs.com/Alex-Song/p/12981319.html