javascript - 在给定索引 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));
解决方案
使用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));
推荐阅读
- python - 使用 pandas 从 Excel 文件中读取最后一列
- spring-boot - 如何在rest api中将数据列表导出到csv文件
- html - 无法刷新表格可视化的 div 标签:HTML + Tableau JS API
- apache-spark - 错误 java.io.NotSerializableException:org.apache.kafka.clients.producer.KafkaProducer
- react-native - 从 GraphQL 查询中选择随机 N 条记录
- google-apps-script - 电子表格 - 服务错误 - getlastcolumn
- angular - 为什么不是所有的角度包都声明为 devDependencies?
- javascript - 模式允许除逗号、双引号和斜杠以外的所有内容?
- c# - 是否需要在位标志枚举类型中包含`None = 0`?
- xslt-2.0 - 我想根据模板在输出 xml 中填充一个元素