一、 cdUp函数
函数功能
该函数寻找上层目录,每次调用函数时对输入的路径进行一次寻找上级目录。如果没有找到返回null
二、函数分析
-
传入的directory判读是否为'/'如果是直接返回null
jsif (directory === "/") return null;
-
获取'/'和'\'在directory 中最后出现的位置,并赋值给i和j
jsconst i = directory.lastIndexOf("/"), j = directory.lastIndexOf("\\");
注:因为在不同平台上路径分隔符不一样
-
对i和j进行三元表达式判断
jsconst p = i < 0 ? j : j < 0 ? i : i < j ? j : i;
是 不是 是 不是 是 不是 i是否小于0 返回j j是否小于0 返回i i是否小于j
-
根据p返回结果
jsif (p < 0) return null; return directory.slice(0, p || 1);
三、源码
js
function cdUp(directory) {
if (directory === "/") return null;
const i = directory.lastIndexOf("/"),
j = directory.lastIndexOf("\\");
const p = i < 0
? j : j < 0
? i : i < j
? j : i;
if (p < 0) return null;
return directory.slice(0, p || 1);
}