我不知道为什么这不起作用。我以为我已经看过十几次使用过了,但看起来我从这个方面看错了:
var array = ["dog", "cat"];
console.log(array["dog"]); // undefined, why?
答案 0 :(得分:6)
var array = {dog: "dog", cat: "cat"};
console.log(array["dog"]); // defined, why?
你拥有的不是一个关联数组,它不是这样的。 JavaScript object就是这样的。对象的文字是{}
,而不是[]
。
答案 1 :(得分:0)
因为您没有为键“dog”设置值。
var array = {"dog":"woof", "cat":"meow"}
console.log(array["dog"]); // returns woof
答案 2 :(得分:0)
那不是关联数组。事实上,JavaScript中不存在关联数组。如果您想要一些行为相似的东西,请使用一个对象:
var animals = {dog: 123, cat: 456};
console.log(animals["dog"], animals.dog);
答案 3 :(得分:0)
你已经制作了一个包含两个元素的数组:
array[0] = 'dog'
array[1] = 'cat'
这不是关联数组。
答案 4 :(得分:0)
它不是一个关联数组,只是一个常规数组。
console.log(array[0]); // will give you dog
如果你想要关联数组行为,就像这样创建一个对象:
var dictionary = {"dog":"woof", "cat":"meow"};
console.log(dictionary["dog"]);