繁体   English   中英

递归函数Javascript Concat数组结果-ImageJ

[英]Recursive function Javascript concat array result - ImageJ

我试图为ImageJ创建一个javascript代码,但必须以允许我选择一个目录为目标,并向我返回目录和子目录中的所有jpg和jpeg文件。 我已经执行了这段代码,对于直接子代来说效果很好,他在子目录上很好地调用了getJpeg(我已经通过一些IJ.log进行了验证),但是jpeg Array与递归调用的结果不兼容

你有主意吗

importClass(Packages.ij.IJ);
importClass(Packages.ij.plugin.frame.RoiManager);
importClass(Packages.ij.gui.GenericDialog);
importClass(Packages.ij.io.OpenDialog);
importClass(Packages.java.io.File);

var dirstr = IJ.getDirectory("Choose the stacks folder");
var jpeg = getJpeg(dirstr);

for (var i = 0; i < jpeg.length; i++) {
        IJ.log(jpeg[i]);
}

function getJpeg(dirst) {
        var dir = new java.io.File(dirst);
        var names = dir.listFiles();
        var jpeg = new Array();
        for (var i = 0 ; i < names.length; i++) {
            if(names[i].isDirectory()){
                jpeg.concat(getJpeg(names[i].getPath()));
                continue;
            }
            var namest = names[i].getName();
            if (namest.match(/.*\.jpg|jpeg/)) {     
                    var path = names[i].getPath();
                    jpeg.push(path);
            }
        }
        return jpeg;
}

谢谢 :)

该问题来自concat文档(w3schools.com/jsreF/jsref_concat_array.asp)的未读。 必须放置jpeg = jpeg.concat(getJpeg(names [i] .getPath()));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM