2017-01-27 6 views
-3

Comment stocker des objets ExtendScript dans un tableau associatif?Objets de stockage dans un tableau associatif

var assArray = {}; 

for (i=1; i<=app.project.items.length; i++) { 
    //alert(app.project.item(i).name); one of them is "_vegs" 
    assArray[app.project.item(i).name] = app.project.item(i); 
} 

alert(assArray["_vegs"].name); 

Ce code renvoie une erreur sur la deuxième ligne d'alerte.

Unable to execute script at line 9. undefined is not an object. 

Que manque-t-il ici?

+0

Pourquoi comptez-vous de 1 à 'length', pourquoi pas de 0 à' longueur 1'? – fafl

+0

c'est ExtendScript. Adobe commence par 1. – sanjihan

+0

Quelle est l'erreur? – fafl

Répondre

0
var assArray = {}; 

for (i=1; i<=app.project.items.length; i++) { 
    //alert(app.project.item(i).name); one of them is "_vegs" 
    assArray[app.project.item[i].name] = app.project.item[i]; 
} 

alert(assArray["_vegs"].name); 

Je pense que le problème est dans (i) je l'espère [i] travaillerai

+0

Nah, item() est une fonction dans extendscript. Il semble qu'ils ne permettent pas de stocker des objets dans les tableaux. – sanjihan