javascript - 如何使用 splice 和 slice 将一个数组放入另一个数组

标签 javascript arrays functional-programming

我的问题是关于该程序的输出:在 FCC (freecodecamp) 控制台中我看到 4,3,2,1,5,而在节点控制台中我看到 [ 4, 3, 2, 1, 5 ](其他数组同理)

我也在第 8 行尝试了这个:let result = array2Copy.map(i => i.toString());

function frankenSplice(arr1, arr2, n) {
  let array2Copy = arr2.slice(0);

  for (let i = 0; i < arr1.length; i++){
    array2Copy.splice(n, 0, arr1[i]);
  }
  let result = array2Copy;  

  return array2Copy;
}

console.log(frankenSplice([1, 2, 3], [4, 5], 1));-->4,3,2,1,5
console.log(frankenSplice([1, 2], ["a", "b"], 1));-->a,2,1,b

根据FCC控制台,我需要如下输出:[4, 1, 2, 3, 5]

最佳答案

首先要记住splice的参数是:

  • (1) 应添加/删除项目的索引
  • (2) 要删除的项目数
  • (3), (4), (5), ...(可选)要添加的项目

你需要将一个数组插入到另一个数组中,所以你只需要一个拼接:插入项目的索引是参数n,而你不需要' 想要删除任何项目,所以第二个参数应该是 0,然后指定要添加 的项目,只是散布到 拼接的其余部分 参数列表:

function frankenSplice(arr1, arr2, n) {
  // don't mutate the argument
  const newArr = arr2.slice();
  newArr.splice(n, 0, ...arr1);
  return newArr;
}

console.log(frankenSplice([1, 2, 3], [4, 5], 1)); //-->4,3,2,1,5
console.log(frankenSplice([1, 2], ["a", "b"], 1)); //-->a,2,1,b

关于javascript - 如何使用 splice 和 slice 将一个数组放入另一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58209968/

相关文章:

javascript - 如何获取多维数组的索引?

javascript - 将绑定(bind)应用与数组参数一起使用时参数丢失

.net - 没有警告错误的沮丧工会案例

algorithm - 有什么有效的方法可以将一元数转换为二进制数?

python3 : Using ternary operator in map, 它将返回 None

javascript - 当结构基于数组时如何将模型映射到表?

javascript - JS - 使用变量设置 Div 背景颜色

javascript - 在ajax请求中发送POST变量

javascript - if 语句的条件应该等于 true 但事实并非如此

javascript - 如何使用变量内容读取对象数组的内容