javascript - 在这种情况下,我应该使用大括号 {} 还是方括号 []?

标签 javascript arrays

目前我有一个使用递增索引的数组:

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/

相关文章:

javascript - Backbone Collection .findwhere() 下划线方法

javascript - 如何根据五次表递增条件语句?

javascript - JavaScript 数组中的随机颜色

javascript - 如何选择数组的多个 html 元素并将它们一次性设置为一个函数?

javascript - 如何在刷新容器 div 后应用 jQuery 数据表?

javascript - 如何正确获取 promise 的返回值?

javascript - Jsp 属性按条件禁用

java - 你如何创建一个大数组?

c - 用于大数查找的数据结构

Java数组: Finding how many numbers are less then the Mean