javascript - 如何通过迭代在 javascript 中创建稀疏数组?

标签 javascript jquery multidimensional-array sparse-matrix

我编写这段代码是为了从一系列 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 行中,您可能指的是未定义的属性。 检查数组中是否已有属性并在需要时添加它是有意义的:

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

关于javascript - 如何通过迭代在 javascript 中创建稀疏数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10772674/

相关文章:

jquery - 寻求框架来实现仪表板

javascript - 设置页面滚动到加载的 div onclick

algorithm - 如何在 d 维球/球体内生成均匀的随机点?

java - 如何将多维 JSON 数组转换为多维 Java 数组

javascript - ajax 完成后将数据从 ajax 函数传递到另一个函数

javascript - Onclick函数获取id

javascript - 将 HTML 元素树解析为 jQuery 中的嵌套括号符号表达式

javascript - html预加载器

c++ - 在 C++ 类中声明多维数组的正确方法是什么

javascript - 使用 jQuery 将动态 CSS 添加到菜单和主页