我尝试使用以下代码从 JSON 对象中提取特定值:
data: any[] = [
{'id': 1, 'expenseType': {'id': 1, 'name': 'type1'} , 'cost': 100},
{'id': 2, 'expenseType': {'id': 2, 'name': 'type2'}, 'cost': 200 },
{'id': 3, 'expenseType': {'id': 3, 'name': 'type3'}, 'cost': 300} }
];
filterData = this.data.map(({ expenseType }) => ({
expenseType
}));
我想要filterData
是一个数组:
[{'id': 1, 'name': 'type1'},{'id': 2, 'name': 'type2'}, {'id': 3, 'name': 'type3']
问题是 key 也包含在内。
我可以使用array.map()
来实现这一点吗? ?
最佳答案
您只需返回expenseType
,而不将其用作 short hand property .
var data = [{ id: 1, expenseType: { id: 1, name: 'type1' }, cost: 100 }, { id: 2, expenseType: { id: 2, name: 'type2' }, cost: 200 }, { id: 3, expenseType: { id: 3, name: 'type3' }, cost: 300 }],
filterData = data.map(({ expenseType }) => expenseType);
console.log(filterData);
关于javascript - 使用 array.map() 提取 JSON 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60146710/