[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Rückwärts durch Array iterieren funktioniert nicht

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Rückwärts durch Array iterieren funktioniert nicht

Gaby Leuenberger
Beiträge gesamt: 29

19. Okt 2017, 14:22
Beitrag # 1 von 3
Bewertung:
(1763 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich verstehe nicht, warum dieser Code nicht funktioniert:
Code
var _myDoc = app.activeDocument;  
var _myFonts = _myDoc.fonts;
var _FehlFonts = new Array();
for (var x = 0; x < _myFonts.length; x++){
if ( _myFonts[x].status ==FontStatus.NOT_AVAILABLE){_FehlFonts.push(_myFonts[x].name)}
}
for (var i=_FehlFonts.length-1; i>=1; i--){
if(_FehlFonts[i]===_FehlFonts[i-1]){_FehlFonts.pop();}}
var _alleFehlFonts = _FehlFonts.join("\r");


_FehlFonts.length ist 2, dann müsste doch i bei der Zählerdefinition auf 1 gesetzt werden? Die Konsole gibt aber i als 0 aus und ich verstehe nicht, warum. Wenn ich zB FontStatus.AVAILABLE einsetze, ist _FehlFonts.length 13, i =12 und alles funktioniert ...?

Sieht jemand den Fehler?

Merci!

Gruss
Gaby Leuenberger
Hier Klicken X

Rückwärts durch Array iterieren funktioniert nicht

Gerald Singelmann
  
Beiträge gesamt: 6196

19. Okt 2017, 16:42
Beitrag # 2 von 3
Beitrag ID: #560024
Bewertung:
(1749 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Code
var _myDoc = app.activeDocument;   
var _myFonts = _myDoc.fonts;
var _FehlFonts = new Array();
for (var x = 0; x < _myFonts.length; x++){
if ( _myFonts[x].status ==FontStatus.NOT_AVAILABLE ) {
_FehlFonts.push(_myFonts[x].name)
}
}
var aux = _FehlFonts.length;
for (var i=_FehlFonts.length-1; i>=1; i--) {
if(_FehlFonts[i]===_FehlFonts[i-1]) {
_FehlFonts.pop();
}
}
var _alleFehlFonts = _FehlFonts.join("\r");


Ein schönes Beispiel für den Wert sauberer Einrückungen. Erst nach dem Aufräumen habe ich verstanden, was der Code macht.
Da aber quasi ausgeschlossen, dass der selbe Eintrag 2x im _FehlFonts enthalten ist, verstehe ich nicht, was die zweite Schleife soll.

Dann wiederum: Wenn aux tatsächlich 2 ist, sollte die 2. Schleife mit i=1 anfangen.


als Antwort auf: [#560020]

Rückwärts durch Array iterieren funktioniert nicht

Gaby Leuenberger
Beiträge gesamt: 29

19. Okt 2017, 17:00
Beitrag # 3 von 3
Beitrag ID: #560025
Bewertung:
(1740 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Entschuldigung wegen der Einrückungen, Einzeiler schreibe ich noch gerne so, um Platz zu sparen ...

Die Annahme zur zweiten Schleife ist in Bezug zum Beispiel-Code richtig, zum Gesamtskript aber falsch, weil das Array anders befüllt wird. Die Abkürzung hatte ich der Übersichtlichkeit so aufgebaut.

Vielleicht fange ich das ganze aber in der Tat besser mit try/catch ab, anstatt von mehreren Funktionen her ein Array zu füllen und dann die Duplikate wegzuschmeissen ...

Hmm... man verrennt sich so leicht in gewissen Ideen!

Aber es ist tatsächlich so: ich weiss, das Array hat zwei identische Einträge (von zwei Funktionen); trotzdem gibt mir die Konsole i = 0 aus ... ich bleibe also ratlos und suche eine andere Lösung. Immerhin weiss ich jetzt, dass die Schleife im Grundsatz stimmt, Merci!
Gaby Leuenberger


als Antwort auf: [#560024]
Hier Klicken

Farbmanagement

Farbmanagement
din_300

Veranstaltungen

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
13.12.2018 - 20.12.2018

3400 Burgdorf, BE
Donnerstag, 13. Dez. 2018, 09.00 Uhr - Donnerstag, 20. Dez. 2018, 09.00 Uhr

Workshop

Schritt für Schritt: Planen, konzipieren und Umsetzen einer responsiven Website mit Wordpress: Lokalen Server einrichten; Frontend/Backend; Vorgehen Schritt für Schritt bis zur fertigen Site.

2-Tages-Workshop CHF 990.00

Ja

Organisator: PubliCollege GmbH

Kontaktinformation: Beat Kipfer, E-Mailinfo AT publicollege DOT ch

www.publicollege.ch

Websites erstellen mit Wordpress und Elementor Pro
Veranstaltungen
19.12.2018

Wie installiert und konfiguriert man Mailchimp und verwendet es für sein Business

Internet
Mittwoch, 19. Dez. 2018, 10.00 - 11.30 Uhr

Webinar

In diesem Webinar zeige ich den Teilnehmern, wie sie mit Mailchimp eigene Newsletter verschicken können. Wie sie Mailchimp installieren und konfigurieren müssen und wie sie eine erste Kampagne machen können.

Gratis

Ja

Organisator: Eric Mächler

https://events.genndi.com/register/818182175026318367/4ac0f277c0

Der Start ins E-Mail Marketing mit Mailchimp