【问题标题】:Outputting Object Properties to Console [duplicate]将对象属性输出到控制台 [重复]
【发布时间】:2021-04-09 23:47:34
【问题描述】:

我有以下对象:

var myObj={
    
        "name": "Chatik",
        "type": "public_supergroup",
        "id": 9947542893,
        "messages": [
         {
          "id": 1,
          "type": "service",
          "date": "2019-11-11T21:45:33",
          "actor": "Chatik",
          "actor_id": 9947542893,
          "action": "migrate_from_group",
          "title": "Chatik",
          "text": ""
         },
         {
          "id": 2,
          "type": "message",
          "date": "2019-11-11T21:51:22",
          "from": "Korney Chukovsky",
          "from_id": 4528246494,
          "text": "Чому никто не вкатывается?"
         },
         {
          "id": 3,
          "type": "message",
          "date": "2019-11-11T21:55:13",
          "from": "Korney Chukovsky",
          "from_id": 4528246494,
          "text": "Бля, я даже в своей собственной конфе один."
         },
         {
           "id": 7,
           "type": "message",
           "date": "2019-11-11T22:05:48",
           "from": "Андрей",
           "from_id": 4855779304,
           "text": "ты откуда?"
               }
        ]};

如何创建一个脚本来输出花括号内每个“元素”的所有“文本属性”只有当“from_id”属性与某个值匹配时?

例如如果我的“from id”值为4528246494,那么应该将“text”值输出到控制台,然后继续检查下一个“元素”,如果该值不是4528246494,则跳过,等等。

【问题讨论】:

  • myObj.messages[1].text

标签: javascript arrays object properties


【解决方案1】:

您只需访问消息并获取第二个元素作为普通属性访问

var myObj = {
  "name": "Chatik",
  "type": "public_supergroup",
  "id": 9947542893,
  "messages": [{
      "id": 1,
      "type": "service",
      "date": "2019-11-11T21:45:33",
      "actor": "Chatik",
      "actor_id": 9947542893,
      "action": "migrate_from_group",
      "title": "Chatik",
      "text": ""
    },
    {
      "id": 2,
      "type": "message",
      "date": "2019-11-11T21:51:22",
      "from": "Korney Chukovsky",
      "from_id": 4528246494,
      "text": "Чому никто не вкатывается?"
    },
    {
      "id": 3,
      "type": "message",
      "date": "2019-11-11T21:55:13",
      "from": "Korney Chukovsky",
      "from_id": 4528246494,
      "text": "Бля, я даже в своей собственной конфе один."
    }
  ]
};

console.log(myObj.messages[1].text)

【讨论】:

  • 好的,很好,我如何迭代输出整个对象的所有文本属性?
  • @SSJ5Broli 试试forEach: myObj.messages.forEach(message => { console.log(message.text) })
  • 谢谢!以及如何将输出连接成单个字符串,而不是通过单独的行输出?
  • 另外,如果“from_id”与某个值匹配,我想输出文本属性?
猜你喜欢
  • 2016-08-17
  • 1970-01-01
  • 2012-09-28
  • 2016-01-24
  • 2014-08-17
  • 2013-11-14
  • 2021-04-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多