题目描述
删除数组 arr 最后一个元素。不要直接修改数组 arr,结果返回新的数组
示例1
输入 [1, 2, 3, 4]
输出 [1, 2, 3]
思路1:利用slice
function truncate(arr) {
return arr.slice(0,-1);
}
思路二:利用filter
function truncate(arr) {
return arr.filter(function(val,i,arrr) {
return i!==arrr.length-1;
});
}
思路三:利用push.apply+pop
function truncate(arr) {
var newArr=[];
[].push.apply(newArr, arr);
newArr.pop();
return newArr;
}
思路四:利用join+split+pop
- 注意!!!:数据类型会变成字符型
function truncate(arr) {
var newArr = arr.join().split(',');
newArr.pop();
return newArr;
}
思路五:利用concat+pop
function truncate(arr) {
var newArr = arr.concat();
newArr.pop();
return newArr;
}
思路六:普通的迭代拷贝
function truncate(arr, item) {
var newArr=[];
for(var i=0;i<arr.length-1;i++){
newArr.push(arr[i]);
}
return newArr;
}