如何为2D数组中的元素提供唯一ID?

时间:2012-01-30 09:36:31

标签: javascript arrays canvas 2d

我对javascript很专业,我遇到过一种情况,我需要以编程方式为2D数组中的每个元素提供唯一的ID。之前我问过这个问题,但是我犯了一个错误,就是没有指定数组是如何构造的,并且收到了适合1d数组的答案。我的数组的结构如下,如果知道如何为数组中的每个元素创建唯一的id,那将是很好的:

 var startRow = Math.floor(scroll.x / alpha.width);
                   var startCol = Math.floor(scroll.y / alpha.height);
                   var rowCount = startRow + Math.floor(canvas.width / alpha.width) + 2;
                   var colCount = startCol + Math.floor(canvas.height / alpha.height) + 2;

                   rowCount = ((startRow + rowCount) > grid.width) ? grid.width : rowCount;
                   colCount = ((startCol + colCount) > grid.height) ? grid.height : colCount;


                   for (var row = startRow; row < rowCount; row++) {
                       for (var col = startCol; col < colCount; col++) {
                           var tilePositionX = alpha.width * row - 25;
                           var tilePositionY = alpha.height * col + 45;

非常感谢

此外,这是我之前收到的回复:JavaScript array id loop

1 个答案:

答案 0 :(得分:0)

就像你上一个问题所说,你为什么不直接参考索引 - 它是完全独特的。 2D数组将具有[i][j]个索引,这些索引不能被多个项目占用。

var startRow = 0;
var startCol = 0;
var rowCount = 10;
var colCount = 5;
var someArray = [];

for (var row = startRow; row < rowCount; row++) {
   someArray[row] = [];
   for (var col = startCol; col < colCount; col++) {
       someArray[row][col] = row + ' ' + col;
   }
}