Javascript 向循环中的数组添加变量

Javascript 向循环中的数组添加变量,javascript,arrays,variables,loops,extendscript,Javascript,Arrays,Variables,Loops,Extendscript,使用extend脚本将变量推送到数组中,基本上是javascript。知道我做错了什么吗 if ( app.documents.length > 0 ) { for ( i = 0; i< app.activeDocument.textFrames.length; i++) { var allSizes = []; //set up empty array textArtRange = app.activeDocument.textFra

使用extend脚本将变量推送到数组中,基本上是javascript。知道我做错了什么吗

if ( app.documents.length > 0 ) {

    for ( i = 0; i< app.activeDocument.textFrames.length; i++) {
         var allSizes = []; //set up empty array

        textArtRange = app.activeDocument.textFrames[i].textRange;
        var fontName =  textFonts.getByName("Nobile");
        alert (fontName);
        textArtRange.characterAttributes.textFont = fontName;
        var fontSizes = textArtRange.characterAttributes.size;

        allSizes.push(fontSizes)
        alert (fontSizes);

    }
        alert (allSizes);
}
if(app.documents.length>0){
对于(i=0;i

allSizes的警报只返回单个值,而不返回数组。

allSizes=[]
的定义移到循环之外


当前,您正在“重置”每个循环的
allsize
值。

您正在for循环内设置空数组。它每次都会重置它。将其移动到for循环上方:

var allSizes = []; //set up empty array
for ( i = 0; i< app.activeDocument.textFrames.length; i++) {
     .....
var-allsize=[]//设置空数组
对于(i=0;i
wow,就是这样。多么愚蠢的举动,哈!真不敢相信我没有看到。谢谢!@Lukasz:你需要接受这个问题的答案。点击答案旁边对你帮助最大的绿色复选标记。