【问题标题】:Accessing Object inside Array访问数组内的对象
【发布时间】:2018-11-22 03:34:13
【问题描述】:

我正在尝试访问 Firebase 数组 > 对象中的值。

当我尝试访问 v-for 中的值时,它运行良好。但我不能这样做:postDetail.author。它返回未定义。解决办法是什么?

【问题讨论】:

  • 请发布代码而不是代码图片。你想要postDetail[0].author
  • 到目前为止你尝试了什么?
  • postDetail 是一个数组,你想访问它的第一项..所以你需要做postDetail[0].author
  • 这个问题是由无法再复制的问题或简单的印刷错误引起的。虽然类似的问题可能是这里的主题,但这个问题的解决方式不太可能帮助未来的读者。这通常可以通过在发布之前确定并仔细检查重现问题所需的最短程序来避免。

标签: javascript vue.js nuxt.js


【解决方案1】:

由于 postDetail 是一个对象数组以访问其对象内部的属性,因此您需要执行类似 postDetail[Index].prop 的操作

var postDetail =[{"author" : "abc", "meta" : "xyz"}];
console.log(postDetail[0].author);

【讨论】:

  • 只是为了好玩,解构const [{author},] = [{"author" : "abc", "meta" : "xyz"}]; console.log(author); :-)
【解决方案2】:

如果你只想得到author,试试吧:

var postDetails = [{
  author: "John",
  category: "Tech"
}];

var inner = postDetails.map(function(e) {
  return e.autor;
});

console.log(inner);

【讨论】:

    【解决方案3】:

    // Array of object
    var persons = [
      {
        name: "shubham",
        age: 22,
        comments: ["Good", "Awesome"]
      },
      {
        name: "Ankit",
        age: 24,
        comments: ["Fine", "Decent"]
      },
      {
        name: "Arvind",
        age: 26,
        comments: ["Awesome", "Handsome"]
      },
      {
        name: "Ashwani",
        age: 28,
        comments: ["Very Good", "Lovely"]
      }
    ];
    
    var data = persons.map(person => {
      console.log(person.name);
      console.log(person.age);
      person.comments.map((comment, index) => console.log(index + " " + comment));
    });

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-23
      • 2019-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多