我编写了这段代码,以从一系列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;