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