vue stream list变换结构
时间: 2023-10-08 17:08:58 浏览: 41
假设原始的数据结构为:
```javascript
[
{
id: 1,
name: 'list1',
streams: [
{ id: 1, name: 'stream1' },
{ id: 2, name: 'stream2' }
]
},
{
id: 2,
name: 'list2',
streams: [
{ id: 3, name: 'stream3' },
{ id: 4, name: 'stream4' }
]
}
]
```
我们需要将它转化为以下的结构:
```javascript
[
{ id: 1, name: 'stream1', listName: 'list1' },
{ id: 2, name: 'stream2', listName: 'list1' },
{ id: 3, name: 'stream3', listName: 'list2' },
{ id: 4, name: 'stream4', listName: 'list2' }
]
```
可以使用 `flatMap` 和 `map` 实现:
```javascript
const newList = originalList.flatMap(list => list.streams.map(stream => ({ id: stream.id, name: stream.name, listName: list.name })));
```
其中,`flatMap` 用于将 `stream` 数组展开,`map` 用于将展开的 `stream` 转化为新的结构。