我已经环顾四周看看Javascript是否支持关联数组,尽管事实上它明确表示它没有,但它似乎无论如何都有用吗?
我很想知道规格是否有任何变化,以及是否建议使用它们。
示例代码:
var foo = new Array;
foo["bar"] = "It works";
console.log(foo["bar"]);

答案 0 :(得分:1)
您应该使用对象,它们是JavaScript中的一等公民:
var foo = {
"bar": "It works"
};
console.log(foo.bar);
console.log(foo["bar"]);
答案 1 :(得分:0)
在Javascript中,foo["bar"]
在语义上等同于foo.bar
。但这是Javascript对象,而不是关联数组。但是,如您所见,您可以将对象视为关联数组。
答案 2 :(得分:0)
我环顾四周看看Javascript是否支持关联数组,尽管事实上它明确表示它不是
你在哪里看到它清楚地表明JavaScript不支持关联数组?
关联数组 - 键/值对的集合(也称为映射,字典和各种上下文中的许多其他名称) - 是Javascript中的基本数据类型。但是,在JavaScript中,它们被称为“对象”。
但是,根据您的示例代码:
with open('private.key', 'r') as infile:
pk = infile.read().split('\n', 1)[1].rsplit('\n', 1)[0]
似乎你可能会问一个稍微不同的问题,即“JavaScript数组是否包含属性(除了数字索引的属性之外)”?
答案,以及记录在案,并在SO上的无数问题中涵盖,是“是”。原因是在JavaScript中,数组是一种特殊类型的对象,因此与所有对象一样,它们可以具有命名属性。
是否建议使用它们。
如果您的意思是建议将命名属性挂起JavaScript数组,则意见不同。您可以查看this question。