add variable to array in a loop
47,711
Solution 1
Move the definition of allSizes = []
outside the loop.
Currently, you're "resetting" the value of allSizes
at each loop.
Solution 2
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++) {
.....
Author by
Lukasz
Updated on October 04, 2020Comments
-
Lukasz over 3 years
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.
-
Lukasz over 12 yearswow, that was totally it. what a noob move, ha! can't believe i didn't see that. thanks!
-
Alex Turpin over 12 years@Lukasz: You need to accept an answer to this question. Do it by clicking the green checkmark next to the answer that helped you most. meta.stackexchange.com/questions/5234/…