我想在 Java 脚本中分配一个二维数组。
我想在 JavaScript 中做一些类似的事情
typedef struct
{
int itemA,
int itemB,
string testC
} myStruc;
myStruct MyArray [100];
如何做到这一点?
最佳答案
var arr = []
arr[0] = { "itemA": "A", "itemB": "B", "itemC": "C" }
arr[1] = { "itemA": "A", "itemB": "B", "itemC": "C" }
我认为您正在尝试将静态语言结构应用于动态和不同的 Javascript 世界。 Javascript 并不像许多语言那样真正具有数组的概念。
在 Javascript 中,数组只是一种特殊的对象(本身只是一个散列),它具有特殊的长度属性。您在上面看到的整数“索引”(即 arr[0] 中的 0)只是具有查找功能。特殊长度属性被定义为比最大整数键大一。在我上面的例子中,arr.length 是 2。但是如果我要分配:
arr[100] = { "itemA": "A", "itemB": "B", "itemC": "C" }
那么 arr.length 将是 101,即使我没有对 2 到 99 之间的任何元素进行分配。
同样,我们通常不会像 Javascript 中的结构那样预定义对象,因此匿名对象将在很大程度上完成您想要的(或使用文档化的工厂函数,例如 Ken 的示例)。
“new Array()”不是必需的,因为简洁的“var a = [];”语法更快。 :)
关于javascript - Javascript 二维数组分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/175742/