Dataview 实战 - 查找重名文件

Dataview 实战 - 查找重名文件

效果

Dataview 实战 - 查找重名文件--效果

代码

// 假设您的对象数组为 data
const data = dv.pages();

let countMap = {}; // 用于存储计数的对象
let duplicates = []; // 用于存储重复元素的数组

// 遍历对象数组
data.forEach((element) => {
  let fileName = element.file.name;
  let filePath = element.file.path;

  // 计数
  if (countMap[fileName]) {
    countMap[fileName].count++;
    countMap[fileName].paths.push(filePath);
  } else {
    countMap[fileName] = { count: 1, paths: [filePath] };
  }
});

let dup=0//这是发现了几个dup的name
let flag =0//有重名文件的标志
for (const key in countMap) {
    const element = countMap[key];
    if (element.count > 1) {
      dup++;
      if(dup>0&&flag==0){dv.paragraph("==有重名文件==");flag=1}
      dv.span(`《${key}.md》出现了${element.count}次`);
      const pathstolink = element.paths.map(path => `[[${path}]]`);
      dv.list(pathstolink);

    }
}
if(dup==0){
dv.span("没有重名文件")
}

讨论

若阁下有独到的见解或新颖的想法,诚邀您在文章下方留言,与大家共同探讨。



反馈交流

其他渠道

版权声明