0: {content: "Heading 1 2 3 4 5", level: 2, anchor: "heading-1-2-3-4-5", className: "testtest", fontWeight: "", …}
1: {content: "Heading 2", level: 2, anchor: "heading-2", fontWeight: "", textTransform: "", …}
2: {content: "Inner Heading", level: 2, anchor: "inner-heading", fontWeight: "", textTransform: "", …}
3: {content: "Heading Level 3", level: 3, anchor: "heading-level-3", fontWeight: "", textTransform: "", …}
4: {content: "Heading Level 3-2", level: 3, fontWeight: "", textTransform: "", noBottomSpacing: false, …}
5: {content: "Heading Level 4", level: 4, anchor: "heading-level-4", fontWeight: "", textTransform: "", …}
6: {content: "Heading Level 2", level: 2, anchor: "heading-level-2", fontWeight: "", textTransform: "", …}
7: {content: "Heading 4", level: 6, anchor: "heading-4", fontWeight: "", textTransform: "", …}
我在 JavaScript 中有这个数组,我需要根据级别嵌套它。
例如,
level 2
level 2
level 2
level 3
level 3
level 4
level 2
level 4
嵌套这个的最好方法是什么?
到目前为止,我已经尝试过:
const nestHeading = heading => {
const nestedHeadersLength = nestedHeaders.length;
if ( nestedHeadersLength >= 1 ) {
const previousIndex = nestedHeadersLength - 1;
if ( previousIndex >= 0 ) {
if (
heading.level !== nestedHeaders[ previousIndex ].level &&
heading.level > nestedHeaders[ previousIndex ].level
) {
nestedHeaders[ previousIndex ].innerHeadings.push( heading );
} else {
nestedHeaders.push( heading );
}
}
} else {
nestedHeaders.push( heading );
}
};
标题是原始数据集中的每个项目。