javascript - 如何在对象数组中扩展子数组并删除字符串某些元素
问题描述
我想将数组中的子数组扩展为像这样的对象中的新元素
{
"date": "1/1/2020",
"points": [
{
"location": "pool"
},
{
"location": "garden"
}
]
},
{
"date": "2/1/2020",
"points": [
{
"location": "school"
},
{
"location": "lake"
}
]
}
成为
{
"date": "1/1/2020",
"location": "pool"
},
{
"date": "",
"location": "garden"
},
{
"date": "2/1/2020",
"location": "school"
},
{
"date": "",
"location": "lake"
}
因为我想在 vuetify 表中显示这些数据,并且我想显示像这样的合并行
解决方案
您可以使用flatMap
遍历数组和展平多维数组。用于map
格式化单个对象。
let arr = [{
"date": "1/1/2020",
"points": [{
"point_name": "pool"
}, {
"point_name": "garden"
}]
}, {
"date": "2/1/2020",
"points": [{
"point_name": "school"
}, {
"point_name": "lake"
}]
}];
let result = arr.flatMap(({date,points}) => points.map(({point_name}) => ({date,point_name})));
console.log(result);
推荐阅读
- html - Datalist 在 iOS Chrome 上无法正常运行
- android - 联系人选择器未在 Android Studio 中提供预期结果
- python - 如何复制文本文件内容并将其转换为行
- css - django css 背景图像 url 不起作用
- python - TypeError 'Purchase' 对象没有属性 '__getitem__'
- arduino - Serial.parseInt() 和 Serial.read() 之间的实际区别?
- oracle-apex - Fetch 仅返回 1 行 - 交互式网格 - Oracle Apex
- google-sheets - 在 Google 表格中使用 REGEXEXTRACT 提取字符串中的所有匹配项
- node.js - 使传入的请求在 NodeJS(express) 中串行执行
- c++ - 在析构函数中“删除”