好吧,我在如何遍历一系列对象时遇到了麻烦。对象中有对象,对象中有对象。如何遍历第一个对象,如果其中有一个对象,则遍历该对象,依此类推。
下面是一个例子,
path = File.applicationDirectory.resolvePath(file.nativePath);
files = path.getDirectoryListing();所以files是一个File对象的数组。数组前文件对象、文件对象、文件对象
我遍历数组并获得所需的File值,但其中一个文件对象是Directory,如果它是这样的话。我想循环遍历它,获取DirectoryListing,然后重复执行,直到我到达最后。
发布于 2014-03-26 22:57:13
正如Eric所说,您可以使用递归,下面是一个示例
var f : File = new File();
f.addEventListener(Event.SELECT, onFolderSelected);
f.browseForDirectory("Choose a directory");
protected function onFolderSelected(event:Event):void
{
var targetFile:File = event.target as File;
var files:Array = getFiles(targetFile);//the all files inthe folder
}
private function getFiles(file:File):Array
{
var files:Array = [];
if (file.isDirectory)
{
var temp:Array = file.getDirectoryListing();
for each (var tFile:File in temp)
{
files = files.concat(getFiles(tFile));
}
}
else
{
files.push(file);
}
return files;
}https://stackoverflow.com/questions/22661836
复制相似问题