微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从对象中获取特定值并将其推送到数组中

如何解决从对象中获取特定值并将其推送到数组中

你好,我有一个 obj(来自 JSON 解析),我试图从中只获取一个值“VALUE”(default.timelineData)

例如从这个 obj 我想要一个数组 [38,35,87,63,34]。

我尝试使用 Object.values 并将它传递给一个数组,然后使用它,但它非常复杂,我相信有一个快捷方式。功能没有成功希望得到帮助谢谢...

{
   "default":{
      "timelineData":[
         {
            "time":"1610323200","formattedTime":"Jan 11,2021","formattedAxisTime":"Jan 11","value":[
               38
            ],"hasData":[
               true
            ],"formattedValue":[
               "38"
            ]
         },{
            "time":"1610409600","formattedTime":"Jan 12,"formattedAxisTime":"Jan 12","value":[
               35
            ],"formattedValue":[
               "35"
            ]
         },{
            "time":"1610496000","formattedTime":"Jan 13,"formattedAxisTime":"Jan 13","value":[
               87
            ],"formattedValue":[
               "87"
            ]
         },{
            "time":"1610582400","formattedTime":"Jan 14,"formattedAxisTime":"Jan 14","value":[
               63
            ],"formattedValue":[
               "63"
            ]
         },{
            "time":"1610668800","formattedTime":"Jan 15,"formattedAxisTime":"Jan 15","value":[
               34
            ],"formattedValue":[
               "34"
            ]
         }
      ],"averages":[
         
      ]
   }
}

解决方法

您尝试访问的属性是 Array。您可以使用 Array.map 遍历元素并同时将返回值推送到新数组中。像这样:

const values = obj.default.timelineData.map(item => item.value[0])
console.log(values); // [38,35,87,63,34]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。