【发布时间】:2012-06-02 02:44:05
【问题描述】:
我编写这段代码是为了从一系列 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 }
【问题讨论】:
-
这有什么问题?有任何错误信息吗?
-
您的代码在这里看起来不错。您是否检查过和
cellHeight、cellWidth的定义是否正确?它究竟是如何失败的? -
Uncaught TypeError: Cannot set property '0' of undefined 是我得到的错误。如果我尝试 a = [[]]; 我会得到同样的错误a[1][22] = "测试";然而 b = [];b[22] = "测试";产生 [,,,,,,,,,,,,,,,,,,,,,,"test"]。其他两个属性都可以正常工作。我认为这是javascript如何处理嵌套数组的问题。如果是这种情况,我对解决方法比对问题的解决方案更感兴趣。
标签: javascript jquery multidimensional-array sparse-matrix