我需要比较两个路径以获得它们之间公共(public)的最大子路径的最后一个字符的索引。例如:
/folder1/folder2/folder3/ybjagh/
/folder1/folder2/folder3/yAAAAAA
在这种情况下,最大子路径将为/folder1/folder2/folder3/因为/folder1/folder2/folder3/y 不会使其成为完整路径。返回的索引将是 23,而不是 25。
我知道该怎么做,但我想我可能想得太多了。有没有一个看起来很简洁的简单 JavaScript 代码可以做到这一点?
谢谢!
最佳答案
这是我的一个想法 - 可能还有一种更好的方法使用 array.reduce - 这样你就不需要持久化匹配或任何类似的东西,可以在路径的一个“文件夹”上工作时间
function longpath(a, b) {
var cont = true;
b = b.split('/');
return a.split('/').filter(function(item, index) {
return cont = cont && b[index] === item;
}).join('/')+'/';
}
关于javascript - 两条路径之间的最长匹配子路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32579158/