牛客网前端编程:删除数组 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; }