Javascript:如何创建多维数组? (需要代码示例)
我有一个 10 行、10 列的表。我想定义一个数组,我可以在其中放置一个值,例如 pos。第 5 行,第 3 列。
该值本身是一个包含更多条目的数组。而这个数组的入口也是一个数组。
示例:
Row 1, column 1:
My text 1, Link to text 1
My text 2, Link to text 2
Row 4, column 5:
My text 3, Link to text 3
Row 6, column 2:
My text 1, Link to text 1
My text 2, Link to text 2
My text 3, Link to text 3
My text 4, Link to text 4
并非每个表条目都需要定义。一个表元素条目可以有多个条目。一个条目由两个值组成。文本和文本的链接。
html-table 已经定义。现在我想用上面的值(链接)填充它。
我的问题是,如何创建一个有效的数据结构,以便我可以轻松找到具有条目的表位置(也许无需循环 10 行 10 列)。对于每个条目,我想获取文本+链接列表。
以及如何访问/阅读我的定义的每个条目。 (我可以将值放入我的 html 表中。)
如果有人能给我一些如何设置这样的数据结构的代码示例,我将非常感激。
I have a table 10 rows, 10 columns. I want to define an array where I can place a value at e.g. pos. row 5, column 3.
The value itself is an array with more entries. And the entry of this array is also an array.
Example:
Row 1, column 1:
My text 1, Link to text 1
My text 2, Link to text 2
Row 4, column 5:
My text 3, Link to text 3
Row 6, column 2:
My text 1, Link to text 1
My text 2, Link to text 2
My text 3, Link to text 3
My text 4, Link to text 4
Not every table entry needs to be defined. A table element entry can have multiple entries. An entry consists of two values. A text and the link for the text.
The html-table is already defined. Now I want to fill it with the values (links) above.
My problem is, how to create an efficient data structure so that I easily can find table-positions that have entries (maybe without looping 10 rows 10 columns). For each entry I want to get the list of texts + links.
And how to access/read each entry of my definition. (I have no problem placing the value to my html-table.)
I'd really appreciate if someone could give me some code-example how to set up such a data structure.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
等等...
编辑
[] 中的每个符号都是一个数组,因此您只需将它们组合到另一个数组中
and so on...
EDIT
every single notation in [] is an array, so you just have to combine them into an another array
如果内存不是问题,就使用数组的数组;
如果表很大但只使用了几个单元格,您还可以使用散列的散列:
您甚至可以混合散列和数组。
Just use an array of array if the memory is not the problem;
If the table is big but only a few cells are used, you can also use a hash of hash:
You can even mix hash and array.
您可以创建一个简单的包装器来方便调用: http://jsfiddle.net/QRRXG/2/。
多维数组只是另一个数组中的一个数组。因此,您可以构建一个包含 10 个数组的数组,每个数组又包含 10 个数组。然后用
arr[i][j]
得到一个。项目可以表示为一个对象:
然后可以像
obj.name
和obj.link
一样解析这样的项目。您可以像这样使用它:
You could create a simple wrapper to make calling convenient: http://jsfiddle.net/QRRXG/2/.
A multidimensional array is just an array in another. So you can build an array with 10 arrays which in turn have 10 arrays in each. Then get one with
arr[i][j]
.Items can be represented as an object:
then such an item can be parsed like
obj.name
andobj.link
.You can the use it like:
创建实用程序对象:
其他答案似乎建议将虚拟数组作为未使用的坐标的占位符。这虽然没有错,但却是不必要的:如果您在 JavaScript 中的
Array
上设置一个索引超出当前范围的条目,则Array
本质上会用 < 填充代码>未定义值。然后添加您需要的值:
以下控制语句将返回坐标的
Array
值或null
(如果DataTable.source
不包含给定坐标的嵌套Array
):在这里尝试:
更新:
这是一篇相当旧的帖子,但由于我收到了解释该代码片段的评论,因此这里有类语法的更新和更多评论:
Create a utility
Object
:The other answers seem to suggest placing dummy
Array
s as placeholders for coordinates that are unused. This -- while it is not wrong -- is unnecessary: if you set an entry on anArray
in JavaScript whose index exceeds the current range theArray
is essentially padded withundefined
values.Then add the values you require:
The following control statements will return the value of the
Array
s of the coordinates ornull
(ifDataTable.source
does not contain a nestedArray
for the given coordinates):Try it here:
UPDATE:
This is a pretty old post, but since I received a comment to explain the snippet, here's an update with class syntax and a few more comments: