【问题标题】:Loop into an array of objects and access to properties循环进入对象数组并访问属性
【发布时间】:2016-02-29 17:23:46
【问题描述】:

我检查了其他问题来解决这个问题,但我不知道如何解决这个问题:我想遍历对象数组的所有项目并访问特定属性。

 for (var i = 0; i < myArray.length; i++){
     var x = myArray[i].property;
     console.log(x);
 }

我的数据数组结构:

var myArray = [ 
    firstObject: {
        title:"first",
        content:"lorem ipsum"
    },
    secondObject: {
        title:"second",
        content:"lorem ipsum"
    },
    thirdObject: {
        title:"third",
        content:"lorem ipsum"
    }
]

检查控制台输出是否为 myArray 中对象的每个实例的列表,但它只从中检索第一个对象。那么,我怎样才能正确访问这些值呢?谢谢

【问题讨论】:

  • 检查你的变量名...你正在使用i,但增加了j
  • 哦,那是示例代码,不是我的实际代码...所以谢谢,我要更改它,但这不是问题!
  • 显示你的源数组,然后问我们你想做什么
  • @ohmmho 是的,这是问题所在,您一直在访问 myArray[0],因为 i 始终为 0
  • @Charmander 问题在于,使用这段代码我只能从数组中获取第一项。

标签: javascript arrays for-loop


【解决方案1】:

var myArray =
[
    {
        title: "first",
        content: "lorem ipsum"
    },
    {
        title: "second",
        content: "lorem ipsum"
    },
    {
        title: "third",
        content: "lorem ipsum"
    }
];
var arrExpectedData = [];
myArray.forEach(function (objSingle) {
    arrExpectedData.push(objSingle.title);
});
console.log(arrExpectedData);

【讨论】:

  • 嘿,是的!这有效 :D 非常感谢你!我将其标记为正确。但是,您能解释一下在这种特殊情况下 for 和 forEach 之间的区别吗?如果我们有更多的水平会怎么样?我的意思是,假设标题结构而不是字符串是另一个对象,如下所示:title:{ date: "2016", category:"production" } 谢谢!
猜你喜欢
  • 1970-01-01
  • 2016-08-18
  • 1970-01-01
  • 1970-01-01
  • 2017-10-27
  • 2017-06-11
  • 2020-01-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多