如何在 JavaScript 中初始化一个字符串数组(大小<100 个项目),其索引分散在整个整数范围内,其中包含数据项。
如果我这样做:
array1 = ["string1","string2","string3","string4"];
Run Code Online (Sandbox Code Playgroud)
然后我得到长度为 4 的数组,索引范围为 0 到 3
但就我而言,我想保留自己的索引,以便该数组可以像高性能 int 字符串哈希表一样使用。
我最好寻找单个语句初始化。
数组的项目应该可以像这样访问:array1[23454]
我只能将数组初始化为单个语句,因为动态准备的数组初始化字符串是从服务器端附加的,如下所示:var array = <string from server here>
要创建具有一定数量索引的数组,您可以使用
// Creates an array with 12 indexes
var myArray = new Array(12);
Run Code Online (Sandbox Code Playgroud)
由于数组的工作方式,这在 javascript 中是不需要的。数组没有上限。如果您尝试引用数组中不存在的项目索引,undefined则会返回但不会引发错误
要创建具有指定索引的数组,您可以使用类似的方法array['index'] = value,但这会迫使您使用多个语句。Javascript 没有数组初始化器来允许您在单个语句中指定所有索引和值,尽管您可以创建一个函数来执行此操作
function indexArray(param) {
var a = [], i;
for (i=0; i<param.length; i+=1) {
a[param[i].index] = param[i].value;
}
return a;
}
var myArray = indexArray([
{ index: 123456, value : "bananas" },
{ index: 12, value : "grapes" },
{ index: 564, value : "monkeys" }
]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8261 次 |
| 最近记录: |