如果数据有问题可以在评论区提出来
```javascript
data:[
{
"userId":"123456",
"names": [
{
"nums": [
"1",
"2",
"3"
],
"id": "111",
"name": "aa"
},
{
"nums": [
"4"
],
"id": "222",
"name": "bb",
},
{
"nums": [
"2"
],
"id": "333",
"name": "cc"
}
],
"date": "2023-02-13 17:51:12"
},
{
"userId":"1234567",
"names": [
{
"nums": [
"1",
"2",
"3"
],
"id": "111",
"name": "aa"
},
{
"nums": [
"4"
],
"id": "222",
"name": "bb",
},
{
"nums": [
"2"
],
"id": "333",
"name": "cc"
}
],
"date": "2023-02-13 17:51:12"
},
]
上面的数据把arr这个数组的每一项与id和name重新组成一个对象,
data:[
{
"userId":"123456",
"names": [
{
"num": "1",
"id": "111",
"name": "aa"
},
{
"num": "2",
"id": "111",
"name": "aa"
},
{
"num": "3",
"id": "111",
"name": "aa"
},
{
"num": "4",
"id": "222",
"name": "bb",
},
{
"num": "2",
"id": "333",
"name": "cc"
}
],
"date": "2023-02-13 17:22:15"
},
]
```
基于Monster 组和GPT的调写:
const data=[
{
"userId":"123456",
"names": [
{
"nums": [
"1",
"2",
"3"
],
"id": "111",
"name": "aa"
},
{
"nums": [
"4"
],
"id": "222",
"name": "bb",
},
{
"nums": [
"2"
],
"id": "333",
"name": "cc"
}
],
"date": "2023-02-13 17:51:12"
},
{
"userId":"1234567",
"names": [
{
"nums": [
"1",
"2",
"3"
],
"id": "111",
"name": "aa"
},
{
"nums": [
"4"
],
"id": "222",
"name": "bb",
},
{
"nums": [
"2"
],
"id": "333",
"name": "cc"
}
],
"date": "2023-02-13 17:51:12"
},
]
const transformedData = data.map(item => {
const { userId, date, names } = item;
const newNames = names.flatMap(({ id, name, nums }) =>
nums.map(num => ({ num, id, name }))
);
return { userId, date, names: newNames };
});
console.log(transformedData);
然后你遇到了啥问题?你想转成什么方式
链式存储 是将每个数据赋予一个节点URL,每个数据都有属于自己的节点地址,此节点都是单独分配的,存储的时候不仅会存储数据元素,同时会附加存储该数据元素的节点地址。
这个就类似于日常生活中的 “叫号” 过程。