牛客网JS测评
题目描述
在数组 arr 末尾添加元素 item。不要直接修改数组 arr,结果返回新的数组
输入:[1, 2, 3, 4], 10
输出:[1, 2, 3, 4, 10]
代码如下
正确的代码:
slice() 方法用数组的某个片段切出新数组。
function append(arr, item) {
var arr1 = arr.slice(0);
arr1.push(item);
return arr1;
}
我的错误的代码:
这是因为将 arr 赋值给 arr1 实际上是将数组的引用赋值给arr1,所以操作 arr1 也同时会改变源数组。而题目要求不能改变原数组。
function append(arr, item) {
var arr1 = arr;
arr1.push(item);
return arr1;
}