Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.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_For Loop_Pgm - Fatal编程技术网

Javascript 在表格中循环以存储单元格的位置

Javascript 在表格中循环以存储单元格的位置,javascript,for-loop,pgm,Javascript,For Loop,Pgm,我有一个关于循环遍历数据表但不将数据存储在表中的问题;相反,我希望在表中存储某个数据段的位置 我现在使用的是一个pgm像素值表,该值定义为0表示黑色,255表示白色。我希望对这个表做的是循环遍历它,并将该像素的位置、行数和列数存储在一个数组中,但前提是该像素的值为255 我现在没有pgm表,所以我将提供这一个作为示例。 为了简单起见,您能帮我只记录显示值为15的像素的位置吗?非常感谢所有答案:) 您可以这样做: var locs = [], row, col, pixel

我有一个关于循环遍历数据表但不将数据存储在表中的问题;相反,我希望在表中存储某个数据段的位置

我现在使用的是一个pgm像素值表,该值定义为0表示黑色,255表示白色。我希望对这个表做的是循环遍历它,并将该像素的位置、行数和列数存储在一个数组中,但前提是该像素的值为255

我现在没有pgm表,所以我将提供这一个作为示例。 为了简单起见,您能帮我只记录显示值为15的像素的位置吗?非常感谢所有答案:)


您可以这样做:

var locs = [],
    row,
    col,
    pixelData = ...,
    nRows = ...,
    nCols = ...;
for (row = 0; row < nRows; ++row) {
    for (col = 0; col < nCols; ++col) {
        if (pixelData[row][col] == 15) {
            locs.push([row, col]);
        }
    }
}
// now the locs array has all [row,col] locations of pixels with value 15
最后,您应该期望
locs
是一个由两个元素数组组成的数组,就好像它是用以下元素初始化的:

var locs = [
    [1, 19], [1,20], [1,21], [1,22], [2, 19], [2,22], ...
];

所有的代码都可以用JavaScript写吗?谢谢。这看起来很棒。但是对于可变的pixelData,您会将其值声明为什么?@user2517142-这应该只是pgm像素数据;我发布的代码假设它是一个整数值数组数组。我假设您已经控制了pgm数据的读取,并且您只是询问有关收集索引的问题。如果没有,您从什么形式的数据开始?我们使用的是一个pgm文件,它是一个真实的黑白圆圈图片。一旦我们能够将像素值放入一个表中,我们将使用这个代码来找到图片中像素的“坐标”。最后,通过一些数学方程来计算这些坐标,以确定图像中圆的中心和半径。@user2517142-在我的代码中,
pixelData
将是像素值表。我非常感谢你。编辑为我澄清了这一点。希望你今天过得愉快。
var pixelData = [
    [0,  0,  0,  0,  0,  0,  0,  0,  0,  . . .],
    [0,  3,  3,  3,  3,  0,  0,  7,  7,  . . .],
    . . .
];
var locs = [
    [1, 19], [1,20], [1,21], [1,22], [2, 19], [2,22], ...
];