JavaScript中怎么把数组中的的文件后缀提取出来对比是图片的保存到另一个数组里面

js选中文件夹存在数组中,怎么把里的文件后缀比较看是不是图片的格式然后存到另一个数组里面
#target photoshop ;isDone = false;var n = 0;function gendiban()
{ if (win.info.PSD.e.text == "" || win.info.PNG.e.text == "")
{ Window.alert ("请选择PSD模板文件及素材文件所在目录","模板或目录未指定!")
}else
{ while (app.documents.length >= 1)
{ app.activeDocument.close(SaveOptions.DONOTSAVECHANGES)
} var template = open(File(win.info.PSD.e.text))
var linelayersets = new Array()
var colorlayersets = new Array()
colorlayersets = template.layerSets.add()
linelayersets = template.layerSets.getByName("黑边")
colorlayersets.name = "颜色"
colorlayersets.moveAfter(linelayersets)
var assetfolder = new Folder(win.info.PNG.e.text)
var assetfiles = assetfolder.getFiles ()
/////////////// function substring(){
var ext=(assetfiles.substring(assetfiles.lastIndexOf("."))).toLowerCase();//后缀名
if(ext=='png'||ext=='jpg'||ext=='bmp'||ext=='jpeg'){
return assetfiless;} } var sam=['png','JPG','bmp','jpeg'];
for(var m = 0 ;m < sam.length;m++){
for(var i = 0 ;i< assetfiles.length;i++){
if (sam[m] ==assetfiles[i])
{n+=1; } } }//////////
function getTemplatePSD()
{
psdfile = File.openDialog ('请选择PSD模板', '*.PSD', false)
win.info.PSD.e.text = File.decode(psdfile)
}
function getAssetsFolder()
{
// var assetsfolder = new Array()
assetsfolder = Folder.selectDialog ('请选择素材所在文件夹')
win.info.PNG.e.text = Folder.decode(assetsfolder)
}

迭代你的数组依次判断就可以了,如:

let imageType = ['jpg', 'jpeg', 'gif', 'bmp', 'png']; // 图片格式的数组

// 你的文件数组
let images = ['main.c', 'main.py', 'main.js', 'main.java', 'main.class'];

let final = [];  // 最终结果
for (let name of images) {
    let nameAndSuffix = name.split('.');
    let suffix = nameAndSuffix[1];    // 取出后缀名
    if (imageType.indexOf(suffix) != -1) {
        final.push(name);  // 如果为图片
    }
}

document.write(final);   // 结果展示

追问

这个是用js批量操作ps 进行图片批量化处理的你的这个可以吗 l第二行的那个在 ae script toolkit cs6 里面运行不了呀

温馨提示:答案为网友推荐,仅供参考
相似回答