请考虑以下数据:
{
"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"
}
我怎么也只返回值(例如,传真)?然后,我想将这些名称值推入数组。
谢谢
答案 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();