JavaScript forEach未将新值保存到2D数组中的子数组
下面是我的代码 oddCells函数的样本值为n=2,m=3,索引=[[0,1],[1,1]] 我的incrementColumn辅助函数工作正常。forEach循环在内部工作,但由于某种原因,递增的值不会保存回arr[row] 问题来自LeetCode“矩阵中具有奇数值的单元格”JavaScript forEach未将新值保存到2D数组中的子数组,javascript,arrays,Javascript,Arrays,下面是我的代码 oddCells函数的样本值为n=2,m=3,索引=[[0,1],[1,1]] 我的incrementColumn辅助函数工作正常。forEach循环在内部工作,但由于某种原因,递增的值不会保存回arr[row] 问题来自LeetCode“矩阵中具有奇数值的单元格” var incrementRow=(row,arr)=>{ arr[row].forEach((e)=>e++); } var incrementColumn=(col,arr)=>{ arr.forEach((e)
var incrementRow=(row,arr)=>{
arr[row].forEach((e)=>e++);
}
var incrementColumn=(col,arr)=>{
arr.forEach((e)=>e[col]++);
}
变量oddCells=(n,m,索引)=>{
//定义我们的矩阵
设矩阵=[];
//用零初始化矩阵
for(设i=0;iarr[row].forEach((e)=>e++)代码>不执行任何操作。您必须在正确的索引处实际保存递增的值:arr[row]=arr[row].map(e=>++e)
如果您想使用forEach:arr[row]。forEach((e,i)=>arr[row][i]=++e)
您好,谢谢您的回复。我以前尝试过map解决方案,但不同之处在于我编写了++e而不是e++。。。现在它工作了,你知道为什么吗?@zarya看看这里关于++e
vse++
-arr[row];forEach((e)=>e++)代码>不执行任何操作。您必须在正确的索引处实际保存递增的值:arr[row]=arr[row].map(e=>++e)
如果您想使用forEach:arr[row]。forEach((e,i)=>arr[row][i]=++e)
您好,谢谢您的回复。我以前尝试过map解决方案,但不同之处在于我编写了++e而不是e++。。。现在它工作了,你知道为什么吗?@zarya在这里看一下++e
vse++
-
var incrementRow = (row, arr) => {
arr[row].forEach((e) => e++);
}
var incrementColumn = (col, arr) => {
arr.forEach((e) => e[col]++);
}
var oddCells = (n, m, indices) => {
//Define our matrix
let matrix = [];
//Initialize matrix with zeroes
for(let i = 0; i < n; i++) {
matrix[i] = []
for(let j = 0; j < m; j++) {
matrix[i][j] = 0;
}
}
console.log(matrix);
//Iterate through indices array
for(let i = 0; i < indices.length; i++) {
incrementRow(indices[i][0], matrix);
incrementColumn(indices[i][1], matrix);
}
console.log(matrix);
};