Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 替换二维数组中的子数组_Javascript - Fatal编程技术网

Javascript 替换二维数组中的子数组

Javascript 替换二维数组中的子数组,javascript,Javascript,我有以下的例子: const arr = [ ["1", "2", "3", "4"], ["1", "2", "3", "4"], ["1", "2", "3", "4"], ["1", "2", &q

我有以下的例子:

const arr = [
  ["1", "2", "3", "4"],
  ["1", "2", "3", "4"],
  ["1", "2", "3", "4"],
  ["1", "2", "3", "4"],
  ["1", "2", "3", "4"]
]
arr
是一个二维阵列

const subArr = [
  ["a", "b"],
  ["a", "b"]
]
subar
也是一个二维阵列

在将arr替换为处于位置(1,1)的子AR后,我希望预期结果为:

finalArr = [
  ["1", "2", "3", "4"],
  ["1", "a", "b", "4"],
  ["1", "a", "b", "4"],
  ["1", "2", "3", "4"],
  ["1", "2", "3", "4"]
]

如何使用JavaScript获取它?非常感谢

可以在下面找到就地解决方案。如果希望您的
finalArr
成为新实例,则需要在应用函数
embed()
之前对数组进行一些(深度)复制


常数arr=[
["1", "2", "3", "4"],
["1", "2", "3", "4"],
["1", "2", "3", "4"],
["1", "2", "3", "4"],
["1", "2", "3", "4"]
];
常数subar=[
[“a”、“b”],
[“c”、“d”]
];
函数嵌入(SubAR、arr、ioff、joff){
//执行“就地”嵌入,即在现有阵列中:
子类forEach((r,i)=>
r、 forEach((v,j)=>arr[ioff+i][joff+j]=v);
}
嵌入(子雷达、arr、1,1);

控制台日志(arr)
数组函数
forEach
可以完成任务

让我们把你的(1,1)看作
startY
startX

function replace2DArray(startY, startX, array, subArray) {
  /* Y is every array of subArray, i is it's index */
  subArray.forEach(Y, i => {
    /* X is every item of Y, j is it's index */
    Y.forEach(X, j => {
      let currentY = startY + i;
      let currentX = startX + j;
      array[currentY][currentX] = X;
    })
  })
}