0

我正在尝试生成一个矩阵。

矩阵的宽度和高度是未知的。

只有在过程结束时,我才会知道 min(x,y) 和 max(x,y)

我需要像 m 1 [2] 而不是 m[1,2]那样访问矩阵

每个元素都应该保存一个对象。

如何像在 php 中一样生成矩阵?

这是我到目前为止所拥有的,但我无法访问或保存数据,因为它给出了错误,因为height属性未知:

matrix[row][min_column].height;

图片

我的代码:

var matrix = new Array();

for (i = lastDrawn.length - 1; i >= 0; i--) {

            ind++;
//            console.log(tile.x);
//            matrix[tile.x, tile.y] = 0;

            tile = lastDrawn[ i ];

            if (!matrix[tile.y])
                matrix[tile.y] = new Array();

            if (!matrix[tile.y][tile.x])
                matrix[tile.y][tile.x] = new Array();

            //calculare tile cu min x,y si max x,y pt viewport curent
            var size_x = Math.round(tile.size.x);//tile width
            var size_y = Math.round(tile.size.y);//tile height
            var position_x = tile.position.x;
            var position_y = tile.position.y;
            var min = OpenSeaDragonCustomSettings.save_viewport_min(tile.y, tile.x, size_x, size_y, position_x, position_y);
            var max = OpenSeaDragonCustomSettings.save_viewport_max(tile.y, tile.x, size_x, size_y, position_x, position_y);
            matrix[tile.y][tile.x] = {'x': tile.x, 'y': tile.y, 'width': size_x, 'height': size_y, 'position_x': position_x, 'position_y': position_y};//y:rand,x:coloana
            console.log(matrix[tile.y][tile.x]);

}
4

1 回答 1

1

您创建“矩阵”的代码应该没问题。该消息Uncought TypeError: Cannot read property 'height' of undefined仅表示您尝试访问的对象未定义,而不是属性...matrix[row][min_column]似乎未定义,只需检查 row 和 min_column 如果这些索引有效...

于 2013-09-25T11:03:29.697 回答