首页 > 解决方案 > 在给定索引 n 处将 arr1 复制到 arr 2 并且 arr 1 和 arr2 在函数运行后应该相同

问题描述

我正在尝试在给定索引 n 处将 arr1 复制到 arr 2,并且 arr 1 和 arr2 在函数运行后应该相同。所以我放了 a = arr2 并对 a 进行操作,但 arr2 也在变化

function frankenSplice(arr1, arr2, n) {
    let a = arr2
    console.log(a)
    a.splice(n,0,...arr1);
    console.log(arr2)
    return a
      
  }
  console.log(frankenSplice([1, 2, 3], [4, 5, 6], 1));

标签: javascript

解决方案


使用flatMap应该简化这种情况。

function frankenSplice(arr1, arr2, n) {
  return arr2.flatMap((num, i) => (i === n ? [...arr1, num] : num));
}
console.log(frankenSplice([1, 2, 3], [4, 5, 6], 1));


推荐阅读