在循环中将变量添加到数组

时间:2011-10-03 17:45:15

标签: 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.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);
}

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

2 个答案:

答案 0 :(得分:9)

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

目前,您在每个循环中“重置”allSizes的值。

答案 1 :(得分:4)

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

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