let dealRichDatas=[
{
"id": "_F13A931F-D448-43E3-94F3-667D04C98F21",
"tag": "h2",
"content": "1.章节1 "
},
{
"id": "_89553229-1030-4197-BC0D-4CD1ADD075F8",
"tag": "h3",
"content": "1.1节点1111"
},
{
"id": "p838747a-Onl8fRpp",
"tag": "p",
"content": "一壶浊酒喜相逢,一壶浊酒喜相逢,"
},
{
"id": "_B75F5AC6-62B8-4B92-94DA-0971B5FAD64B",
"tag": "h2",
"content": "2.章节2 "
},
{
"id": "_6A03FEDA-1F68-4DF7-989B-99A05549E544",
"tag": "h3",
"content": "2.1节点222"
},
{
"id": "p838747a-m7AI1flW",
"tag": "p",
"content": "古今多少事,都付笑谈中。一壶浊酒喜相逢古今多"
},
{
"id": "_A47FE9E4-32FF-42CB-B8F7-2D619F7F0638",
"tag": "h2",
"content": "3.章节3 "
},
{
"id": "_E46EF78A-D07D-4831-9B54-97FEBF8CEF07",
"tag": "h3",
"content": "3.1节点333"
},
{
"id": "p838747a-RgJgXZNc",
"tag": "p",
"content": "醉卧沙场君莫笑,古来征战几时回。"
}
]
//主要使用数组的reduce 方法进行处理
//prev 默认第一个元素
//next 默认第二个元素
//index 数组下标
//reduce函数后的第一个参数可作为初始值(类型可为字符串,数组,
//对象)进行累加,来初始化对象,初始化数组,初始化求和等。
//如果没有默认初始值为prev
let gDatas = dealRichDatas.reduce((prev, next, index) => {
if (next.tag == "h2") {
let gData_p = {
key: next.id,
title: next.content,
};
gData_p.children = [];
prev.push(gData_p);
}
if (next.tag == "h3") {
let gData_c = {
key: next.id,
title: next.content,
};
prev[prev.length - 1].children.push(gData_c);
}
return prev;
}, []);
// console.log(this.gDatas, "000000000000000000000");
一维数组对象转为二维数组对象
最新推荐文章于 2024-01-12 01:00:00 发布