dataviewjs查询标签#项目合同,问题请教?!

假如:我的仓库里有两个项目文件,A.md,B.md
A.md包含一个标签 “#项目合同
#项目合同
类型::采购合同
乙方::乙1
日期::20230101

B.md包含两个标签”#项目合同
#项目合同
类型::采购合同
乙方::乙2
日期::20230102

#项目合同
类型::补充合同
乙方::乙3
日期::20230103


遇到的问题

使用dataviewjs查询所有的项目合同,并列出来,

    dv. list (    	
		dv. pages ("#项目合同")
	        . sort (k => k["日期"], 'desc')
            . map (k => k["类型"]  +"-"+ k["乙方"] +"-"+ k["日期"])
	)

达不到预期效果,B.md的合同以数组的型式出现了,只有2个输出

采购合同-乙1-20230101
采购合同,补充合同-乙2,乙3-20230102,20230103

预期的效果

我想得到3个输出,输出型式是
采购合同-乙1-20230101
采购合同-乙2-20230102
补充合同-乙3-20230103

请问该如何修改dataviewjs查询语句,实现期望效果,谢谢

let a=[]
dv.pages("#项目合同")
.sort(k => k["日期"], 'desc')
.forEach(k =>{
    if(typeof k["类型"]=='string') a.push(k["类型"]  +"-"+ k["乙方"] +"-"+ k["日期"])
    else k["类型"].forEach((m,i)=> a.push(k["类型"][i]  +"-"+ k["乙方"][i] +"-"+ k["日期"][i]))
})
dv.list(a)
2 个赞

太利害了,谢谢!