题目描述
在数组 arr 末尾添加元素 item。不要直接修改数组 arr,结果返回新的数组
示例1
输入
复制
[1, 2, 3, 4], 10
输出
复制
[1, 2, 3, 4, 10]
-
解题思路1:array.concat(arrayX,arrayY,arrayZ); return newArray;
function append(arr, item) { return arr.concat(item); }运行时间:1666ms
占用内存:78008k
-
解题思路2:array.forEach(function(value,index,arr){},thisArg);
function append(arr, item) { let newArr=[]; arr.forEach(function(value,index,arr){ newArr.push(value); },this); newArr.push(item); return newArr }运行时间:1449ms
占用内存:78008k
-
解题思路3:for()循环迭代拷贝
function append(arr, item) { let newArr=[]; let len=arr.length; for(let i=0;i<len;i++){ newArr.push(arr[i]); } newArr.push(item); return newArr }运行时间:1448ms
占用内存:77876k
-
解题思路4: 使用array.slice(start,end);浅拷贝;
function append(arr, item) { let newArr=arr.slice(0); newArr.push(item); return newArr}
运行时间:1401ms
占用内存:77824k
由以上运行结果可知:解题思路4为最优解;
欢迎留下你的最优解