javascript 中的关联数组难题

associative array conundrum in javascript

在javascript中,我可以通过JSON

初始化一个javascript对象来'create'一个关联数组

例如 var bArr = {"key1": "val1","key2": "val2", "key3": "val3"}

然后访问数组元素,如 bArr["key1"]、bArr["key2"]、bArr["key3"]。

但是,除了使用 JSON 进行初始化之外,我们能否以某种方式在循环中仅对 bArr["key1"] 等元素进行索引并分别为它们赋值?

是的,你可以。其实很简单:

var obj = {};

for (var i = 0; i < 10; i++) {
  obj['val' + i] = i;
}

console.log(obj);

您可以通过 bArr["key"] = "value"; 将值初始化到您的 javascript 对象中。这样做会给你:

bArr = {
  "key": "value"
}

因此,使用循环,您可以将 i 连接到 keyvalue 的末尾以生成具有从 1 到 n 的键和从 1 的值的对象到 n,其中 n 是一个整数(大小有限):

var bArr = {};

for(var i = 1; i <= 3; i++) {
  bArr["key" +i] = "val" + i;
}

console.log(bArr);