有什么办法可以使 splice() 无损?

我需要做的是在调用函数后保留 arr2 原样。

function foo(arr1, arr2, n) {
   let result = arr2;
   result.splice(n, 0, ...arr1.slice(0, arr1.length));
   console.log(arr2);
}

foo(["I'm", "not", "done"], ["sorry", "yet"], 1);

虽然它返回 sorry,I'm,not,done,yet 这是我想要的 arr2 的元素不应该改变

最佳答案

在使用 .concat 修改数组之前,您可以(浅)复制数组。

let result = [].concat(arr2);
// ... modify result...

关于javascript - 使 JavaScript 的拼接无损,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51149356/

10-12 06:55