【已解决】如何用dataview筛选出上周日记(一共7个笔记)中的所有2级标题的内容

我确实是只放了两行代码,
因为我看您的这篇帖子( DataviewJS 汇总全文及特定标题下内容并解决图片显示痛点 - 经验分享 - Obsidian 中文论坛)需求比我的多,我就试了试删掉那些我不需要的代码(具体删掉的代码见下)

let rgx = /\[.*?\]\((?!http)(.+)|\[\[(.+?)\|(.*?\d+)?/
function extract(str) { let r = []; str.replace(rgx, (m, p1, p2)=> {r.push(p1||p2)}); return r[0] }
files.map(async p=> {
    let fc = app.metadataCache.getFileCache(app.vault.getAbstractFileByPath(p.file.path)).headings
        .filter(p=> p.level == 2)  // 二级标题数组
    let i = fc.findIndex(p=> p.heading == term)  // 获取标题等于 term 的索引
    let A = ( await app.vault.readRaw(p.file.path) ).split('\n')  // 分块
    A = fc[i+1] ? A.slice(fc[i].position.end.line+1, fc[i+1].position.end.line) : A.slice(fc[i].position.end.line+1)  // 截取

    A = A.map(p=> p.split( /!|\)|\]\]/ ).map(p=> rgx.test(p) ? extract(p) : p) )  // 再分块
    let B = p.file.outlinks.filter(p=> p.embed && !/\.md$/.test(p.path))
    for (let i = 0; i < A.length; i++) { for (let j = 0; j < B.length; j++) { let b = B[j].path.split('/');
        let dp = /.*?(?:\|)?(.*?)(?:\|)?(\d+)/.exec(B[j].display)
        let src = encodeURI(`${app.vault.adapter.basePath}/${B[j].path}`)
        A[i] = A[i].map(p=> {
            let boo = p.replace( /\.\// ).includes('/') ? p.endsWith(b.slice(-2).join('/')) : p.endsWith(b.slice(-1))
            if (boo) { return dp ? `<img width='${dp[2]}' src='${src}'>` : `<img src='${src}'>` } else { return p }
    })}; A[i] = A[i].join('')  // 合块
    }; dv.paragraph(`##### ${p.file.link}\n${A.join('\n\n')}`)  // 再合块、输出
})