我编写了这段代码,以从一系列dom元素中抓取一个稀疏数组。
一维完成时,代码有效,但二维中失败。有什么我想念的吗?

23         function initCellHover(){
24                 $cells.each(function(){
25                         var arrayX = $(this).position().left/cellWidth;
26                         var arrayY = $(this).position().top/cellHeight;
27                         var arrayValue = $(this);
28                         cellLookup[arrayX][arrayY] = arrayValue;
29                 });
30         }

最佳答案

在第28行中,您可能引用的是undefined属性。
检查数组中是否已存在属性,并在需要时添加它是有意义的:

cellLookup[arrayX] = cellLookup[arrayX] || [];
cellLookup[arrayX][arrayY] = arrayValue;

07-26 02:32