【发布时间】:2019-04-01 21:02:40
【问题描述】:
编写一个接受两个参数的函数removeColumns:
originalGrid(二维数组)
numColums(号码)
removeColumns 应该返回一个删除正确列数的新网格。如果numColumns = 1,则删除一列。如果numColumns = 2,则删除两列。
removeColumns([[1, 2, 3],
[1, 2, 3],
[1, 2, 3],
[1, 2, 3]], 2);
/* => [[1],
[1],
[1],
[1]]
*/
我试过了:
function removeColumns (originalGrid, numColumns) {
let newGrid = [];
//if numColumns = 1, remove 1 column
for (let col = 0; col < originalGrid.length; col ++)
if (numColumns === 1) {
newGrid.pop(col)
}
//if numColums = 2, remove 2 columns
else if (numColumns === 2) {
newGrid.pop(col + 1)
}
return newGrid;
}
这有几个问题。
我了解如何从一个数组中删除最后一项:
function removeItem(array) {
let poppedArray = array.pop();
return array;
}
但我不明白如何遍历网格中的三个连续数组,并从所有三个数组中删除最后一项。
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
我想一旦我理解了如何删除一列的概念,我就会明白如何删除两列。
【问题讨论】:
标签: javascript arrays grid row multiple-columns