牛客网前端编程:删除数组 arr 最后一个元素。不要直接修改数组 arr,结果返回新的数组

//第一种方法:使用slice或concat
        function truncate(arr) {
            // var arr1 = arr.concat();
            var arr1 = arr.slice(0);
            arr1.pop(arr1.length-1);
            return arr1;
        }
        //第二种方法:普通迭代方法
        function truncate1(arr) {
            var a = new Array();
            for (var i = 0;i < arr.length-1;i++){
                a.push(arr[i]);
            }
            return a;
        }
        //第三种方法:filter
        function truncate2(arr) {
            //val:当前元素值  i:当前元素索引  arr1:当前数组
            return arr.filter(function (val,i,arr1) {
                return i!=arr1.length-1;
            })
        }
        //第四种方法:单纯使用slice
        function truncate3(arr) {
            // slice方法不会改变原数组数据
            return arr.slice(0,-1);
        }
        //第五种方法:split+join
        function truncate4(arr) {
            var arr1 = arr.join().split(',');
            //删除最后一个元素
            //pop是指删除最后一个元素;shift是指删除第一个元素;两者返回的都是所删除的元素
            arr1.pop();
            return arr1;
        }

 

posted @ 2019-07-25 16:30  紫色,风铃  阅读(1452)  评论(0编辑  收藏  举报