我使用以下代码从声明的路径中检索子文件夹名称。这工作正常,但我如何删除路径名称,以便数组只是文件夹名称的列表?
var myPath = Folder ("Z:/My File System/Me/Work Files/Design");
var folders = getFolders (myPath);
function getFolders(sourceFolder) {
var folderArray = new Array();
var sFolders = sourceFolder.getFiles ();
var len = sFolders.length;
for (var i = 0; i < len; i++) {
var sFolder = sFolders[i];
if (sFolder instanceof Folder) {
folderArray.push(sFolder);
}
}
return folderArray;
}
而不是返回:
Z:/我的文件系统/我/工作文件/设计/一个
Z:/我的文件系统/我/工作文件/设计/两个
Z:/我的档案系统/我/工作档案/设计/三
Z:/我的文件系统/我/工作文件/设计/四
我需要:
一个
二
三个
四个
答案 0 :(得分:1)
你可以这样使用split()
,假设最后没有其他斜线。
var sample = 'Z:/My File System/Me/Work Files/Design/Four'.split('/')
var result = sample[sample.length - 1]
答案 1 :(得分:1)
你可以实现类似的东西(假设你可以修改Folder
原型,并将路径存储为this.path
):
Folder.prototype.basename = function () {
return this.path.split('/').pop();
};
然后,您将基本名称附加到数组:
folderArray.push(sFolder.basename());
答案 2 :(得分:0)
正则表达字符串。从最后开始,向后工作直到第一个'/'