Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当给定多维数组的坐标索引时,如何计算这些坐标?_Javascript_Arrays_Multidimensional Array - Fatal编程技术网

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;iindexToRowCol(board,8)
行数除以board[0]。长度因为这是您必须分布在每行中的元素数,并以该值为基础,所以对于列,您必须找到最后一行中的剩余元素,所以

row=parseInt(i/board[0]。长度)
column=i-row*board[0]。长度-1

函数生成器板(行、列、初始值){
设arr=[];
对于(变量i=0;iindexToRowCol(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];
}