利用slice
function cur(arr){
return arr.slice(1);
}
利用filter
function cur(arr){
return arr.filter(function(a,b){
return b !== 0;
});
}
利用push.apply+shift
function cur(arr){
var newArr = [];
[].push.apply(newArr,arr);
newArr.shift();
return newArr;
}
利用join+split+shift
注意:数据类型会变成字符串类型
function cur(arr){
var newArr = arr.join().split(',');
newArr.shift();
return newArr;
}
利用concat+shift
function cur(arr){
var newArr = arr.concat();
newArr.shift();
return newArr;
}
普通的迭代拷贝
function cur(arr){
var newArr = [];
for(var i = 1; i < arr.length; i++){
newArr.push(arr[i]);
}
return newArr;
}
利用slice+shift
function cur(arr){
var newArr = arr.slice(0);
newArr.shift();
return newArr;
}
es6…
function cur(arr){
var newArr = [...arr];
newArr.shift();
return newArr;
}
使用filter+shift/splice
function cur(arr){
var newArr = arr.filter(function (){return true});
newArr.shift();
return newArr;
}
function cur(arr){
var newArr = arr.filter(function () {return true});
newArr.splice(0,1);
return newArr;
}
使用map重组数组
function cur(arr){
var newArr = arr.map(function (foo) {return foo});
newArr.shift();
return newArr;
}
function cur(arr){
var newArr = arr.map(function (foo) {return foo});
newArr.splice(0,1);
return newArr;
}
博客介绍了JavaScript中数组拷贝的多种方法,包括利用slice、filter、push.apply+shift、join+split+shift、concat+shift等,还提及普通迭代拷贝、es6方法,以及使用filter+shift/splice、map重组数组,同时指出join+split+shift会使数据类型变为字符串。
2349

被折叠的 条评论
为什么被折叠?



