1. 程式人生 > >JS能力測評6:刪除陣列最後一個元素

JS能力測評6:刪除陣列最後一個元素

思路:

先複製在刪除,這樣就不直接修改arr了

function truncate(arr) {
    newarr=arr.slice(0);
    newarr.pop();
    return newarr;
}

人家大佬的思路,值得學習 

//利用slice
function truncate(arr) {
    return arr.slice(0,-1);
}
//利用filter
function truncate(arr) {
    return arr.filter(function(v,i,ar) {
        return i!==ar.length-1;
    });
}
//利用push.apply+pop
function truncate(arr) {
    var newArr=[];
    [].push.apply(newArr, arr);
    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;
}