赋值:编写一个函数,返回正方形网格中对角线元素的列表。
function getDiagonal(grid, whichDiagonal)
对角线由程序顶部的常量命名。
var DIAGONAL_TOP_LEFT_BOTTOM_RIGHT = 0;
var DIAGONAL_BOTTOM_LEFT_TOP_RIGHT = 1;
例如,给定包含以下内容的网格:
4 2 5
1 8 3
7 3 9
getDiagonal(grid, DIAGONAL_TOP_LEFT_BOTTOM_RIGHT)
的调用应该返回一个包含内容的数组:
[4, 8, 9]
现在,通过多次调用函数并打印出网格来测试函数。
我的代码打印"我不知道为什么这里是我的完整代码:
var DIAGONAL_TOP_LEFT_BOTTOM_RIGHT = 0;
var DIAGONAL_BOTTOM_LEFT_TOP_RIGHT = 1;
function start(){
var grid = new Grid(3, 3);
grid.initFromArray([
["4", "2", "5"],
["1", "8", "3"],
["7", "3", "9"]
]);
getDiagonal(grid, DIAGONAL_TOP_LEFT_BOTTOM_RIGHT);
}
function getDiagonal(grid, whichDiagonal){
var diagonalList = [];
for(var row = 0; row<grid.numRows() + 1; row++){
for(var col = 0; col<grid.numCols() + 1; col++){
if(row == col){
var curr = grid.get[row, col];
diagonalList.push(curr);
}
}
}
println(diagonalList);
}
我也不确定如何使用顶部的2个给定变量
在这个函数的代码中有两个问题:
function getDiagonal(grid, whichDiagonal){
var diagonalList = [];
for(var row = 0; row<grid.numRows() + 1; row++){
for(var col = 0; col<grid.numCols() + 1; col++){
if(row == col){
var curr = grid.get[row, col];
diagonalList.push(curr);
}
}
}
println(diagonalList);
}
更改为:
function getDiagonal(grid, whichDiagonal){
var diagonalList = [];
for(var row = 0; row<grid.numRows(); row++){
for(var col = 0; col<grid.numCols(); col++){
if(row == col){
var curr = grid.get(row, col);
diagonalList.push(curr);
}
}
}
println(diagonalList);
}