在网格 (JS) 中查找列的每个成员的值
Finding value of each member of a column in grid (JS)
我遇到了一些问题,希望有人能提供帮助。我只是JS的初学者,所以这可能有一个非常简单的答案,在我的脑海中。
我有一个可以根据用户指定的行和列动态创建的网格。我有一个行号数组和一个列号数组,并使用以下公式为每个成员分配一个 ID:
index = (maxcols * rownumber) + col;
然后,我向网格的每个成员添加一个 ID,结果如下所示:
1 2 3
4 5 6
7 8 9
基本上,我试图找到的是列的每个成员的值,并将其添加到自己的数组中。所以在这种情况下,答案可能是
column1 [1,4,7];
column2 [2,5,8];
column3 [3,6,9];
我想要的结果是允许我仅通过拥有成员 ID 来查找相对列。任何朝着正确方向的推动都将是非常棒的。提前感谢!
如果我理解正确,你可以这样做:
var maxcol = 4,
maxline = 4,
col = 2,
line = 3;
var index = (maxcol * line) + col;
var foundCol = index % maxcol; // found the column
var foundLine = (index - col) / maxline; // found the line
console.log(index, foundCol, foundLine);
然后遍历所有索引并将您的值添加到列中。
这有帮助吗?
对qquestion的回答可能在很大程度上取决于您访问网格成员及其框架的方式。
如果不谈论任何与 DOM 相关的方面,例如将列 ID 分配给属性中的网格成员元素或事件处理程序参数,您可以尝试在成员 id 中对 colid 进行编码。同样,如果您拒绝成员 ID 中的字符,则可以按分数对其进行编码:
1.1 2.2 3.3
4.1 5.2 6.3
7.1 8.2 7.3
index = (maxcols * rownumber) + col + col/10;
或
1.001 1.002 1.003
2.001 2.002 2.003
3.001 3.002 3.003
index = row + col/1000;
甚至
1.5 1.(3) 1.25
2.5 2.(3) 2.25
2.5 2.(3) 2.25
index = row + 1/(col+1);
或数字排名(对列和行进行编码,限制为 <100 列):
101 102 103
201 202 203
301 302 303
index = 100*row + col;
相关文章:
- 正在全局范围中查找JavaScript函数
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- es6 相当于下划线查找位置
- 在DOM中查找一个模式并替换它's的内容使用jquery
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 如何在不传递此信息的情况下查找被调用的元素
- Lodash 从值数组中查找数组中的值
- 如何使用JavaScript查找1和N之间的所有数字的总和
- 使用RegExp查找url中的字符
- 查找元素高度,包括边距
- 使用JS查找数组的平均值
- 查找最短和最长日期
- 猫鼬在特定记录中查找嵌套记录
- 使用javascript在MVC中查找网格长度时出错
- 在Javascript数组中查找绝对最大值
- 正在数组中查找丢失的组成员
- 如何使用正则表达式查找对象成员名称
- javascript如何通过原型链查找对象的成员
- 在网格 (JS) 中查找列的每个成员的值