这是我的代码,现在我可以在typeahead字段中显示所有结果。但是缺少一些数据。如何将所有数据映射到一个数组中?
data() {
return {
list: [],
}
}
axios.get('list', {})
.then(function (response) {
self.list = response.data.map(x => x.name1);
})
.catch((error) => {
console.log(error);
});
//Api return josn
[
{
"id": 17,
"name1": "Apple",
"name2": "Apple2"
},
{
"id": 237,
"name1": "Orange",
"name2": "Orange2"
}
]
现在,我的数组是['Apple','Oragne'] 但是我想要我的数组= ['Apple','Apple2','Orange','Orange2']
答案 0 :(得分:2)
有很多方法。您可以使用reduce来累积所需的数组。
此外,您的回复中没有data
字段。
代替:
self.list = response.data.map(x => x.name1);
使用:
self.list = response.reduce((acc, item) => {
acc.push(item.name1);
acc.push(item.name2);
return acc;
}, []);