目前我有一个使用递增索引的数组:
var idx = 1;
var a = [];
a[idx++] = "apple";
a[idx++] = "orange";
...
console.log(a[2]);
并且只能通过
[]
访问它, 不使用特定于数组的函数,例如 length
, indexOf
, ...在这种情况下,显然以下也有效:
var a = {};
那么,在这种情况下我应该更喜欢哪一个呢?例如它们之间的任何性能差异?
最佳答案
[ ] 表示一个数组。数组只保存值:
var a1 = [1, 2, 3, 4]
正如@Qantas 指出的那样,数组可以包含的不仅仅是值。一个数组甚至可以包含另一个数组和/或对象:
var a2 = [1, 2, ["apple", "orange"], {one: "grape", two: "banana"}];
{ } 表示一个对象。对象具有键值对,例如
var a3 = {one: 1, two: 2}
在您的情况下,这实际上是您希望如何访问数据的问题。如果您只对“apple”、“pear”等感兴趣,请继续使用数组。您可以通过它的索引访问它
a1[0]; // outputs 1
a1[1]; // outputs 2
或者你可以用循环迭代它。如果您使用花括号,(鉴于我给出的示例),您可以使用
a3.one; // outputs 1
a3["two"]; // outputs 2
在这种情况下,它如何最适合您的需求完全取决于您。有关更广泛的讨论,请参阅此 article .
关于javascript - 在这种情况下,我应该使用大括号 {} 还是方括号 []?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24666758/