Хоть как...Очень нннада.))Одной строкой не получится.
Только рекурсивным вызовом.
url Folder +/
Folder.prototype.collectAllFiles = function() {
var result = [];
var files = this.getFiles();
for (var counter = 0; counter < files.length; counter++) {
if (files[counter].constructor.name == 'File') {
result.push(files[counter]);
} else {
result = result.concat(files[counter].collectAllFiles());
}
}
return result;
}
var fldr = Folder('путь_к_папке');
var allFiles = fldr.collectAllFiles();
Folder.prototype.collectAllJPGFiles = function() {
var result = [];
//все, что кончается на ".jpg"
var re = /\.jpg$/gim;
var files = this.getFiles();
for (var counter = 0; counter < files.length; counter++) {
if (files[counter].constructor.name == 'File') {
//проверка на расширение
if re.test(files[counter].name.toString()) {
result.push(files[counter]);
}
} else {
result = result.concat(files[counter].collectAllFiles());
}
}
return result;
}
var Folder_url = '' + prefs.DefFolder;
var FolderRef = new Folder(Folder_url);
var FileArr = FolderRef.collectAllJPGFiles();
Правильнее такЭлементарно же.
Folder.prototype.collectAllJPGFiles = function() {
var result = [];
//все, что кончается на ".jpg"
var re = /\.jpg$/gim;
var files = this.getFiles();
for (var counter = 0; counter < files.length; counter++) {
if (files[counter].constructor.name == 'File') {
//проверка на расширение
if (re.test(files[counter].name.toString())) {
result.push(files[counter]);
}
} else {
result = result.concat(files[counter].collectAllJPGFiles());
}
}
return result;
}
var Folder_url = '...';
var FolderRef = new Folder(Folder_url);
var FileArr = FolderRef.collectAllJPGFiles();