是否应使用数组名称和索引来命名 JavaScript 个对象?

Should an array name and index be used for naming JavaScript objects?

我很惊讶这在 JavaScript 中有效。我的问题是,这是好的做法吗?

var contact = [];
contact[0] = {};
contact[0].name = "Peter Parker";
console.log(contact[0].name);

哪一部分?当数组为空时,将 0 设置为 contact 通常不是好的做法 - 相反,您应该创建一个对象,然后 push 将该对象放入数组中。

另一方面,如果您谈论的是设置 contact[0] 的 属性 - 是的!这就是对象的全部要点 - 您可以将它们视为类似于 Python 字典,只是您不需要使用括号表示法来访问它。

您还可以在对象内部定义名称:

var contact = {name: "Peter Parker"};

将对象推入名为 contacts 的数组中:

contacts.push(contact);

没有什么不对,也没有惊喜。你得到等同于下一个代码

var contact = [{
  'name': "Peter Parker"
}];

首先创建数组,然后将对象放入其中。

提供的代码没有任何问题,也没有好坏之分;这完全取决于上下文(针对正确的工作概念使用正确的工具)。

您所做的只是创建一个数组,其中第一项是一个对象。您可以将数组嵌套在数组内或对象嵌套在对象内,或者更进一步,将它们嵌套多次。