admin管理员组

文章数量:1192918

using extend script to push a variable into an array it's basically javascript. any idea what I am doing wrong?

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);
}

the alerts for allSizes only return single values, not the array.

using extend script to push a variable into an array it's basically javascript. any idea what I am doing wrong?

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);
}

the alerts for allSizes only return single values, not the array.

Share Improve this question asked Oct 3, 2011 at 17:45 LukaszLukasz 9463 gold badges14 silver badges22 bronze badges 0
Add a comment  | 

2 Answers 2

Reset to default 13

Move the definition of allSizes = [] outside the loop.

Currently, you're "resetting" the value of allSizes at each loop.

You're setting up the empty array inside of the for loop. It's resetting it each time. Move it above the for loop:

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

本文标签: javascriptadd variable to array in a loopStack Overflow