javascript - 使用javascript从数组访问元素名称(无值)

标签 javascript

对不起,如果我的问题不好。我被困在以下简单的 javascript 代码中:

var person={fname:"John",lname:"Doe",age:25};

for (x in person)
{
document.write(person[x] + " ");
}

上面的代码结果是:John Doe 25

如何只显示 lname 元素的值? (使用 for (... in ...) 语句)

我不想使用 person={"John","Doe",25} 代替上述之一。我想知道如何访问数组中的元素以获取值。

谢谢

编辑:感谢大家的回复。创建这个问题是因为我在数组中有很多项目,例如:

        [{Name="A 1", Email="a1@manufacturer.com", Group="Group1"},
        {Name="A 2", Email="a2@manufacturer.com", Group="Group2"},
        {Name="A 3", Email="a3@manufacturer.com", Group="Group3"},
        {Name="B 1", Email="b1@manufacturer.com", Group="Group1"},
        {Name="V 1", Email="b1@manufacturer.com", Group="Group2"},
        {Name="X 1", Email="b1@manufacturer.com", Group="Group4"},
        {Name="Y 1", Email="b1@manufacturer.com", Group="Group3"},
        {Name="Z 1", Email="b1@manufacturer.com", Group="Group3"},
        {Name="W 1", Email="b1@manufacturer.com", Group="Group6"}]

我想迭代这个数组并将元素与我拥有的值进行比较。 if object1.Group == 'Group3' { 代码 }

最佳答案

这里不是数组,而是 JavaScript 对象。 (简单来说,)数组有数字索引,而对象有属性名和值对。

要访问像“lname”这样的特定对象属性,只需说:

person.lname
// OR
person["lname"]

或者,如果您要使用的属性名称在变量中:

var whichProp = "lname";
person[whichProp]

使用您的数据,要生成输出“John Doe”,您会说:

document.write(person.fname + " " + person.lname);

您使用的 for (x in person) 语法循环遍历 person 对象的每个属性,为每个属性设置 x依次命名。

更新您的更新问题:

假设您有一个对象数组:

var people = [{Name:"A 1", Email:"a1@manufacturer.com", Group:"Group1"},
              {Name:"A 2", Email:"a2@manufacturer.com", Group:"Group2"},
              {Name:"A 3", Email:"a3@manufacturer.com", Group:"Group3"},
              // etc ];

如果您想找到 Group 为“Group3”的元素,那么您可以使用传统的 for 循环遍历数组,如下所示:

for (var i=0; i < people.length; i++) {
   if (people[i]["Group"] === "Group3") {
      // do something
   }
}

如果您想在第一次匹配后停止处理,可以在 if 语句中添加一个 break 语句。当然,如果您愿意,您可以自由使用 people[i].Group 语法而不是 people[i]["Group"]

(另请注意,您的问题更新中的对象文字语法不正确:在您使用 = 的地方,您应该使用 : 如我上面的回答所示.)

关于javascript - 使用javascript从数组访问元素名称(无值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8586326/

相关文章:

javascript - Javascript 中的字符串模式匹配

javascript - 使用javascript在HTML中的<img>标签中查找图像url的正则表达式

javascript - JS中这两种编码风格有什么区别?

javascript - 在触发调整大小事件之前,粒子 js 无法正确显示

javascript - 使用 html.validationmessagefor 作为客户端错误消息

javascript - 如何将 JSON 数组与模板文字一起使用?

javascript - CSS 中的反向查找

javascript - 文章内容之间的jquery Reading Position进度

单击鼠标时Javascript mouseleave

javascript - 使用 async/ajax 时保持不变的粘性页脚?