代码之家  ›  专栏  ›  技术社区  ›  wbdlc

如何获取对象值

  •  1
  • wbdlc  · 技术社区  · 7 年前

    考虑以下数据:

    {
        "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 回复  |  直到 7 年前
        1
  •  4
  •   HelgeFox    7 年前

    要仅返回值,可以使用 Array.map 功能如下:

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

    Object.values()

        2
  •  1
  •   Karan    7 年前

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

     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();