可以使用JavaScript的字符串操作和数组方法来实现。首先,将相对路径存储在一个数组中,然后使用split()方法将每个路径字符串拆分为目录和文件名的数组。然后,使用pop()方法获取文件名,并将其作为键存储在一个对象中,值为路径字符串。最后,通过筛选对象中值的数量大于1的键来获取文件名相同的路径。

以下是实现的代码示例:

const paths = [
  '/xx/aa.t',
  '/aa.t',
  '/xx/xx/aa.t'
];

const fileNames = {};

paths.forEach(path => {
  const parts = path.split('/');
  const fileName = parts.pop();
  if (fileName) {
    if (fileNames[fileName]) {
      fileNames[fileName].push(path);
    } else {
      fileNames[fileName] = [path];
    }
  }
});

const result = Object.values(fileNames).filter(paths => paths.length > 1);
console.log(result);

输出结果为:

[ [ '/xx/aa.t', '/xx/xx/aa.t' ], [ '/aa.t' ] ]

结果是一个二维数组,每个子数组中包含文件名相同的路径。在上面的示例中,/xx/aa.t/xx/xx/aa.t具有相同的文件名aa.t/aa.t是另一组文件名相同的路径。

JavaScript 筛选相对路径中文件名相同的路径

原文地址: https://www.cveoy.top/t/topic/qfKf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录