首页 > 试题广场 >

删除数组最后一个元素

[编程题]删除数组最后一个元素
  • 热度指数:109390 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
删除数组 arr 最后一个元素。不要直接修改数组 arr,结果返回新的数组
示例1

输入

[1, 2, 3, 4]

输出

[1, 2, 3]
小白死办法 创建新的空数组 只遍历旧数组中的除了最后一个元素的其他元素  把它们push进新数组
function truncate(arr) {
var newarr=[];
    for(var i=0;i<arr.length-1;i++){
        newarr.push(arr[i]);
    }
    return newarr;
}

发表于 2021-04-19 21:45:45 回复(0)
function truncate(arr) {
    let newArr = []
    for(let i in arr){
        newArr.push(arr[i])
    }
    newArr.splice(arr.length - 1,1)
    return newArr
}
深拷贝 + splice
发表于 2021-03-31 21:06:43 回复(0)
function truncate(arr) {
    let _arr = []
    for(i=0;i<arr.length-1;i++){
        _arr.push(arr[i])
    }
    return _arr
}
直接遍历数组除最后一项元素,并推入一个空数组之中,不用单独深拷贝一次,只是得单整一个for循环
发表于 2020-09-06 12:10:01 回复(0)
使用slice()
function truncate(arr) {
            return arr.slice(0,-1);
}

发表于 2020-08-31 13:34:57 回复(0)
//使用ES6扩展运算符
function truncate(arr) {
    let arr2 = new Array(...arr);
    arr2.pop();
    return arr2;
}

发表于 2020-08-08 23:02:46 回复(0)
function truncate(arr) {
    return arr.slice(0, -1);
}
发表于 2020-08-04 11:14:54 回复(0)
function truncate(arr) {
    let arr_copy = [...arr];
    arr_copy.pop();
    return arr_copy;
}

发表于 2020-07-16 12:41:46 回复(0)
function truncate(arr) {
    var newArr = [];
    for(var i=0;i<arr.length-1;i++){
        newArr[i]=arr[i];
    }
    return newArr;
}
发表于 2019-12-13 17:09:25 回复(0)
function truncate(arr) {
    return arr.slice(0, -1);
}

function truncate(arr) {
    var a = arr.slice();
    a.pop();
    return a;
}

编辑于 2019-08-08 21:54:32 回复(0)
function truncate(arr) {
return arr.slice(0,arr.length-1)
}
function truncate(arr) {
return arr.slice(0,-1)
}
第一个占用内存更少

发表于 2019-08-01 11:06:56 回复(0)
先var一个新数组,将旧的数组遍历到新的数组里, 再用.pop()将最后一个元素删去,返回新的数组。
function truncate(arr) {
    var newArr =[];
    for(var i=0;i<arr.length;i++){
        newArr.push(arr[i]);
    }
    newArr.pop();
    return newArr;
}
发表于 2019-06-21 11:33:34 回复(0)
function truncate(arr) {
    var arr1=arr.slice(0);
    arr1.splice(-1,1);
    return arr1;
}
发表于 2019-04-04 15:16:27 回复(0)
function truncate(arr) {
 return arr.slice().splice(0,arr.length-1);
}
发表于 2018-12-01 17:24:48 回复(0)
function truncate(arr) {
    var s = arr.concat()
    s.pop();
    return s;
}
发表于 2018-09-06 21:21:17 回复(0)
function truncate(arr) {
    var newAry = [];
    for(var i = 0;i<arr.length-1;i++){
        newAry.push(arr[i]);
    }
    return newAry;
}
console.log(truncate([1,2,3,4]));
发表于 2018-07-07 09:35:51 回复(0)
function truncate(arr) {     var newArr = JSON.parse(JSON.stringify(arr));     newArr.pop()     return newArr; }
发表于 2018-06-21 10:48:23 回复(0)
function truncate(arr) {
    var len=arr.length-1;
    var tmp=arr.splice(0,len);//
    return tmp;
}

发表于 2018-06-20 13:40:16 回复(0)
function append(arr){    
    // 用newArr深拷贝arr数组。
    var newArr = JSON.parse(JSON.stringify(arr));   
    // 删除末尾 
    newArr.pop();
    // 返回新数组    
    return newArr 
}

编辑于 2018-04-19 09:56:30 回复(0)
function truncate(arr) {
    var res=arr.slice();
    res.pop();
    return res;
}
发表于 2017-11-21 15:07:26 回复(0)

问题信息

难度:
27条回答 35846浏览

热门推荐

通过挑战的用户

查看代码