版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
版权
题目要求:
删除数组 arr 最后一个元素。不要直接修改数组 arr,结果返回新的数组。
输入:
[1,2,3,4]
输出:
[1,2,3]
当然首先想到的是pop(),删除数组最后一项改变数组长度。
这是第0中解决方案你说行不行啊!
function truncate(arr) {
var m = arr.slice();
m.pop();
return m;
}
function truncate(arr) {
var newArr = [];
[].push.apply(newArr,arr); //利用apply将数组拆分为参数列进行数组合并
newArr.pop();
return newArr;
}
//利用join+split+pop 注意!!!:数据类型会变成字符型
functiontruncate(arr) {
varnewArr = arr.join().split(','); //join后再拆分为新数组
newArr.pop();
returnnewArr;
}
//利用concat+pop
functiontruncate(arr) {
varnewArr = arr.concat(); //合并数组生成新数组
newArr.pop();
returnnewArr;
}
第一种::
很简单的解决方案,声明一个新数组,循环遍历到原数组的倒数第二项push进新数组,返回新数组
function truncate(arr) {
var m = [];
for(var i = 0; i