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;
}

猜你喜欢

转载自blog.csdn.net/weixin_43160613/article/details/85242812