1

我正在使用以下代码从声明的路径中检索子文件夹名称。这很好用,但是我如何删除路径名,以便数组只是文件夹名称的列表?

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:/我的文件系统/我/工作文件/设计/四

我需要:

一二 三四
_ _

4

3 回答 3

1

你可以这样使用split(),假设最后没有其他斜线。

var sample = 'Z:/My File System/Me/Work Files/Design/Four'.split('/')
var result = sample[sample.length - 1]
于 2013-10-14T16:20:36.927 回答
1

你可以实现这样的东西(假设你可以修改Folder原型,并将路径存储为this.path):

Folder.prototype.basename = function () {
    return this.path.split('/').pop();
};

然后,您会将基本名称附加到数组中:

folderArray.push(sFolder.basename());
于 2013-10-15T09:06:59.850 回答
0

正则表达式字符串。从最后开始,向后工作直到第一个'/'

于 2013-10-14T16:20:22.253 回答