是否有“更短”的方式来定义例如100个新阵列?

时间:2010-10-25 12:21:34

标签: javascript arrays

我的目标是将名字与img-element的标题进行比较,并在名字与img-element的标题匹配时插入姓氏。但在编程之前,我想问你一个问题。

有没有更简单的方法来创建一个新的数组列表,其中包含我所选择的名字和姓氏?如果我有大约100个新阵列,每个阵列都包含名字和姓氏,那将是非常不方便的。

 var username = new Array();

  username[0] = new Array();
  username[0]["first name"] = "daniel";
  username[0]["last name"] = "obrian";

  username[1] = new Array();
  username[1]["first name"] = "stuart";
  username[1]["lastname"] = "oconner";

提前谢谢。

3 个答案:

答案 0 :(得分:7)

您正在寻找对象文字语法:

var username = new Array();
username[0] = { "first name": "daniel", "last name": "obrian" };
username[1] = { "first name": "stuart", "last name": "oconner" };

请注意,您的示例创建了一个数组,但随后为其分配了属性,因此它不是真正意义上的数组。 JavaScript没有关联数组,但是Object地图可以完成这项任务。

对于数组文字也有类似的语法,您可以在数组初始化期间指定值:

var username = [
    { "first name": "daniel", "last name": "obrian" },
    { "first name": "stuart", "last name": "oconner" }/*,
    { ... },
    { ... },
    { ... } */
];

答案 1 :(得分:2)

您的内部数组应该是对象:

var username = [
    { first_name: "daniel", last_name: "obrian"},
    { first_name: "stuart", last_name: "oconner"},
    // etc...
];

我会使用first_name代替"first name"来简化语法。

答案 2 :(得分:0)

你的意思是这样的吗?

var people= [["daniel", "obrian"],["stuart","oconner"]];
alert(people[0][0]);