javascript - 使用 AXIOS 和 VueJs 用二维数组映射数据
问题描述
我是初学者,vuejs
我想将我的数据响应映射到二维表中。
这是我的数据:
[{
"origine": "",
"nb": 15
}, {
"origine": "?",
"nb": 18
}, {
"origine": "?L",
"nb": 1
}, {
"origine": "G",
"nb": 298
}, {
"origine": "I",
"nb": 51
}, {
"origine": "L",
"nb": 1735
}, {
"origine": "L?",
"nb": 1
}, {
"origine": "O",
"nb": 4
}]
映射后我希望数据是这样的:
[
['', 15],
['?', 18],
['?L', 1],
['G', 298],
['I', 51],
['L', 1735],
['L?', 1],
['O', 4]
]
或者像这样:
[
'': 15,
'?': 18,
'?L': 1,
'G': 298,
'I': 51,
'L': 1735,
'L?': 1,
'O': 4
]
到目前为止,我已经写了这个:
getResultcivitas(localisation) {
axios
.get('../api/civitasorigine/' + this.searchInputcivitas)
.then(response => {this.origines = response.data.map (x => x.origine)})
}
我找到了这个,但我不知道如何在我的 axios 查询中拼出它。
map = origines.map(obj => {
var rObj = {};
rObj[obj.origine] = obj.nb;
return rObj;
});
解决方案
只需使用和从地图函数的回调中返回一个数组item.origine
item.nb
let data = [{
"origine": "",
"nb": 15
}, {
"origine": "?",
"nb": 18
}, {
"origine": "?L",
"nb": 1
}, {
"origine": "G",
"nb": 298
}, {
"origine": "I",
"nb": 51
}, {
"origine": "L",
"nb": 1735
}, {
"origine": "L?",
"nb": 1
}, {
"origine": "O",
"nb": 4
}]
let mappedData = data.map(item => {
return [item.origine, item.nb];
})
console.log(mappedData)
推荐阅读
- reactjs - Jest UI React js 组件 - 单元测试
- css - 将 CSS 文件上传到 Seaside FileLibrary 时出现问题
- javascript - img 标签 css 上方的线性渐变
- python - 如何使用 filter() 在 Python 中查找年龄限制?
- c++ - 从自然语言到 C++ 表达式
- php - 在yii2中将多维数组中的单个值记录到表中
- azure-application-insights - 按 IP 地址过滤 App Center 分析
- node.js - 如何更新警告已弃用
- java - 如何使用 pdfbox java 修复链接可访问性的标记注释失败/错误?
- angular - Ionic 5 - 部署新版本时的缓存问题