diff --git a/src/core/render/compiler.js b/src/core/render/compiler.js index 124be9b7f..2fc0bfe64 100644 --- a/src/core/render/compiler.js +++ b/src/core/render/compiler.js @@ -200,13 +200,10 @@ export class Compiler { if (toc[i].ignoreSubHeading) { const deletedHeaderLevel = toc[i].depth; toc.splice(i, 1); - // Remove headers who are under current header - for ( - let j = i; - j < toc.length && deletedHeaderLevel < toc[j].depth; - j++ - ) { - toc.splice(j, 1) && j-- && i++; + + // Remove all following headings with greater depth + while (i < toc.length && toc[i].depth > deletedHeaderLevel) { + toc.splice(i, 1); } i--;