[ad_1]
问题:
给你两个数组和一个索引。
按顺序将第一个数组的每个元素复制到第二个数组中。
开始在第二个数组的索引 n 处插入元素。
返回结果数组。 函数运行后输入数组应保持不变。
我的代码是:
JavaScript
<pre>unction frankenSplice(arr1, arr2, n) { let newarr = arr2; newarr.splice(n,0,...arr1); console.log(arr2); console.log(newarr) return newarr; } frankenSplice([1, 2, 3], [4, 5, 6], 1);
我尝试过的:
我希望 arr2 保持相同,但分配给 newarr 后,arr2 得到相同的值 newarr 具有。
解决方案1
您的代码中有一个小错误。 splice 方法就地修改数组并返回包含已删除元素的数组。 您需要将一个数组插入到另一个数组中,因此您需要的只是一个拼接。 这是代码的修改版本:
JavaScript
function frankenSplice(arr1, arr2, n) { // Create a shallow copy of arr2 to avoid modifying it directly let newarr = arr2.slice(); newarr.splice(n, 0, ...arr1); console.log(arr2); console.log(newarr); return newarr; } frankenSplice([1, 2, 3], [4, 5, 6], 1);
参考: https://stackoverflow.com/questions/58209968/how-to-use-splice-and-slice-to-put-an-array-into-another-array[^]
[ad_2]
コメント