2017-01-27 9 views
-3

Wie kann ich ExtendScript-Objekte in einem assoziativen Array speichern?Objekte im assoziativen Array speichern

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

Dieser Code gibt Fehler in der zweiten Alarmzeile zurück.

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

Was fehlt mir hier?

+0

Warum Sie von 1 bis 'length' zählen kann, warum nicht von 0 bis' Länge-1 '? – fafl

+0

Dies ist ExtendScript. Adobe startet mit 1. – sanjihan

+0

Was ist der Fehler? – fafl

Antwort

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

denke ich, das Problem in (i) hoffentlich [i] arbeiten

+0

Nein, item() ist eine Funktion in extendscript. Es sieht so aus, als könnten sie Objekte in Arrays nicht speichern. – sanjihan

Verwandte Themen