Напишите функцию 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]
Думаю, как только я пойму концепцию удаления одного столбца, я пойму, как удалить два столбца.
РЕДАКТИРОВАТЬ : Ссылка на codepen