如何获取对象值

时间:2018-10-10 15:20:36

标签: javascript object vue.js vuejs2

请考虑以下数据:

{
    "id": 1,
    "title": "Title one",
    "category_data": {
        "2": "Team",
        "7": "Queries"
    }
},

我使用此功能将数据遍历所有类别:

   remove_category_duplicates: function () {
        // Get all categories and remove duplicates
        let data = {}
        this.info.forEach(i=>{
            Object.assign(data,i.category_data);
        })

        return data;
    },

这将返回一个对象,如下所示:

Object {
 12: "Fax",
 2: "Team",
 6: "Questions",
 7: "Queries"
}

我怎么也只返回值(例如,传真)?然后,我想将这些名称值推入数组。

谢谢

2 个答案:

答案 0 :(得分:4)

要只返回值,可以使用Array.map函数,如下所示:

let arr = this.info.map(val => val.category_data);

...或使用注释中提到的更新的Object.values();)

答案 1 :(得分:1)

您可以通过这种方式推送值

 var info = [{
          "id": 1,
          "title": "Title one",
          "category_data": {
            "2": "Team",
            "7": "Queries"
          }
        }];
        
        var remove_category_duplicates = function () {
          // Get all categories and remove duplicates
          let data = [];
          for (var i in info) {
            if (info[i] && info[i].category_data) {
              var category_data=info[i].category_data;
              for (var j in category_data) {
                  data.push(category_data[j]);
              }
            }
          }
          console.log(data)
          return data;
        };
        remove_category_duplicates();