Javascript 当给定多维数组的坐标索引时,如何计算这些坐标?
相反,我有一个函数,可以为您提供输入坐标的索引Javascript 当给定多维数组的坐标索引时,如何计算这些坐标?,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,相反,我有一个函数,可以为您提供输入坐标的索引 function generateBoard(rows, cols, initialValue) { let arr = []; for(var i = 0; i < rows;i++){ arr.push(new Array(cols).fill(initialValue)) } return arr; } 它应该生成一个数组,例如,[“”、“”、“”、“”、[“”、“”、“”、“”、[“”、“”、“”],[“”、“”、“”]
function generateBoard(rows, cols, initialValue) {
let arr = [];
for(var i = 0; i < rows;i++){
arr.push(new Array(cols).fill(initialValue))
}
return arr;
}
它应该生成一个数组,例如,[“”、“”、“”、“”、[“”、“”、“”、“”、[“”、“”、“”],[“”、“”、“”],坐标为2,1的数组应该打印出7
我们如何写:
function indexToRowCol(board, i){}
如果indexToRowCol(board,8)的示例输入应该为您提供rows=x和cols=x的坐标?我不知道如何简单地通过索引参数计算行和列的值。对于行数,我除以board[0]。长度因为这是必须分布在每行中的元素数,并以该值为基础,对于列,必须找到最后一行中的剩余元素,所以
row=parseInt(i/board[0]。长度)
和column=i-row*board[0]。长度-1
函数生成器板(行、列、初始值){
设arr=[];
对于(变量i=0;i indexToRowCol(board,8)
行数除以board[0]。长度因为这是您必须分布在每行中的元素数,并以该值为基础,所以对于列,您必须找到最后一行中的剩余元素,所以
row=parseInt(i/board[0]。长度)
和column=i-row*board[0]。长度-1
函数生成器板(行、列、初始值){
设arr=[];
对于(变量i=0;i indexToRowCol(board,8)
这对我来说确实有效
function indexToRowCol(board, i){
var row = Math.floor((i/board.length));
var col = (i - (row*(board.length)));
return [row,col];
}
我得到了一些其他回答的负整数,但这似乎阻止了这一点 这对我来说确实有效
function indexToRowCol(board, i){
var row = Math.floor((i/board.length));
var col = (i - (row*(board.length)));
return [row,col];
}
我得到了一些其他回答的负整数,但这似乎阻止了这一点 为什么
坐标2,1会打印出7。
当您将其初始化为“.”时。@just\u a\u simple\u guy因为如果在一行中读取,2,1是数组中的第7个元素。为什么坐标2,1会打印出7。
当您将其初始化为“.”时。@just\u simple\u guy因为如果在一行中读取,2,1是数组中的第7个元素。您应该为列输入-1
,否则它将返回错误的值。您应该为列输入-1
,否则它将返回错误的值。
function indexToRowCol(board, i){
var row = Math.floor((i/board.length));
var col = (i - (row*(board.length)));
return [row,col];
}