JS在数组 arr 末尾添加元素 item。不要直接修改数组 arr,结果返回新的数组

牛客网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;
}

猜你喜欢

转载自blog.csdn.net/weixin_43966538/article/details/106588041