我想在Java Script中分配一个2 D数组.
我想在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 = [];" 语法更快.:)