[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Ausgabe Array

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

Ausgabe Array

MarioF
Beiträge gesamt: 355

5. Okt 2019, 17:22
Beitrag # 1 von 7
Bewertung:
(2032 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
ich habe eine einfache Array:
Code
var Liste = new Array(); 
Liste['A'] = 'Ein Wert für A',
Liste['B'] = 'Ein Wert für B',
Liste['C'] = 'Ein Wert für C',
...


Wenn ich jetzt Teile davon ausgeben möchte, geht es ja z.B. so
Code
ausgabe = Liste['A'] + ', ' + Liste['C']] 

Kann man die Ausgabe etwas abkürzen, damit man nicht immer Liste['A'] usw. schreiben muss?
---
Viele Grüße
Mario
X

Ausgabe Array

WernerPerplies
Beiträge gesamt: 2680

5. Okt 2019, 17:42
Beitrag # 2 von 7
Beitrag ID: #572095
Bewertung: |||
(2028 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,

alle Elemente eines Arrays mit Komma-Delimiter gehen so:

Code
var ausgabe = Liste.join(",") 


Für Teilbereiche würde ich zuerst einmal ein Teilarray erzeugen

Hier kannst Du sehen, was man so alles mit Arrays machen kann:
Array-Methoden

Die Möglichkeiten hängen aber von der jeweiligen JavaScriptversion ab, also einfach mal probieren.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign Alle neuen Skripte mit
neu: WpsProjectHandler 31.05.2020, Version 3.XX, neue Funktionen.
MultiSave ist Bestandteil meines WpsProjecthandlers
neu: WpsEanInTables, WpsSaRInHyperlinks
Kundenstimmen


als Antwort auf: [#572094]

Ausgabe Array

Martin Fischer
  
Beiträge gesamt: 12587

5. Okt 2019, 18:02
Beitrag # 3 von 7
Beitrag ID: #572096
Bewertung: |||
(2019 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Was auch geht ...

Code
var Liste = new Array();  

Liste['A'] = 'Ein Wert für A';
Liste['B'] = 'Ein Wert für B';
Liste['C'] = 'Ein Wert für C';
var arr = new Array();

for (var key in Liste)
arr.push(Liste[key]);

var ausgabe = arr.join(', ')
$.writeln( ausgabe );


Viele Grüße
Martin




als Antwort auf: [#572094]

Ausgabe Array

MarioF
Beiträge gesamt: 355

5. Okt 2019, 18:09
Beitrag # 4 von 7
Beitrag ID: #572097
Bewertung:
(2014 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank für die Antworten.
Ich schaue mir gerade concat(), sieht ganz gut aus ;-) https://www.w3schools.com/...=tryjs_array_concat2
---
Viele Grüße
Mario


als Antwort auf: [#572096]

Ausgabe Array

MarioF
Beiträge gesamt: 355

5. Okt 2019, 19:32
Beitrag # 5 von 7
Beitrag ID: #572098
Bewertung:
(2002 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich würde die Frage gern erweitern. Ich habe eine weitere Liste:
Code
var _Array2 = new Array(); 
var _Array3 = new Array();

var _Liste2 = [
["A", "Wert 1","Wert 1_2"],
["B", "Wert 2","Wert 2_2"],
["C", "Wert 3","Wert 3_2"],
["C", "Wert 4","Wert 4_2"],
...

for (var i = 0; i < _Liste2.length; i++) {

if (_Liste2[i][0] == "C") {
for (var c = 0; c < _Liste2.length; c++) {
_Array3[_Liste2[c][2] + _Liste2[c][1]];
}
}

else {

..._Array2

var _txt1 = _Liste2[i][2],
var _txt2 = _Liste2[i][1] + _Liste2[i][2]

_Array2[i] = _txt1
_Array3[i] = _txt2
}
alert(_Array3.join("\n"));


Wenn in _Liste2[0] ein C steht, sollen die Werte [1] und [2] in _Array3 geschrieben werden. Leider erhalte ich aber keine Ausgabe.
---
Viele Grüße
Mario


als Antwort auf: [#572096]

Ausgabe Array

WernerPerplies
Beiträge gesamt: 2680

6. Okt 2019, 08:38
Beitrag # 6 von 7
Beitrag ID: #572099
Bewertung: |||
(1947 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Mario,

ich bin nicht sicher, ob ich Deine Aufgabe richtig verstanden habe, aber versuche es mal so:

Code
main(); 

/*Void*/function main(){
var /*Array*/array3 = [],
/*Array*/liste2 = [
["A", "Wert 1","Wert 1_2"],
["B", "Wert 2","Wert 2_2"],
["C", "Wert 3","Wert 3_2"],
["C", "Wert 4","Wert 4_2"]
// …
],
/*Int*/l = liste2.length, /*Int*/c = -1;

for (var i = 0; i < liste2.length; i++){
if (liste2[i][0] == "C") {
array3.push(liste2[i].splice(1,2).join(""));
}
}
alert(array3.join("\n"));
}


Falls Dein Ergebnisarray sehr groß sein sollte, könntest Du die Sache so etwas schneller machen:

Code
main(); 

/*Void*/function main(){
var /*Int*/n = 1000, /*Int*/l= -1, /*Int*/c = 0, /*int*/size = n,
/*Array*/array3 = [size],
/*Array*/liste2 = [
["A", "Wert 1","Wert 1_2"],
["B", "Wert 2","Wert 2_2"],
["C", "Wert 3","Wert 3_2"],
["C", "Wert 4","Wert 4_2"],
["C", "Wert 5","Wert 5_2"]
// …
];
l = liste2.length;
for (var i = 0; i < l; i++){
if (liste2[i][0] == "C") {
array3[c++] = liste2[i].splice(1,2).join("");
if (c == size){
size = size + n;
array3.length = size;
}
}
}
array3.length = c;
alert(array3.join("\n"));
}


n sollte dabei ungefähr so groß wie das erwartete Ergebnis sein.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign Alle neuen Skripte mit
neu: WpsProjectHandler 31.05.2020, Version 3.XX, neue Funktionen.
MultiSave ist Bestandteil meines WpsProjecthandlers
neu: WpsEanInTables, WpsSaRInHyperlinks
Kundenstimmen


als Antwort auf: [#572097]

Ausgabe Array

MarioF
Beiträge gesamt: 355

6. Okt 2019, 18:05
Beitrag # 7 von 7
Beitrag ID: #572100
Bewertung:
(1924 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank...
---
Viele Grüße
Mario


als Antwort auf: [#572099]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
21.06.2022

Online
Dienstag, 21. Juni 2022, 10.00 - 10.30 Uhr

Webinar

Viele Druckereien – kleine und große – suchen heute nach Wegen, ihre Effizienz und Produktivität zu steigern. Dabei erkennen sie oft, dass sie sich dringend um die Optimierung, Standardisierung und Automatisierung ihrer Workflows und Prozesse kümmern sollten. In unserer kostenlosen, jeweils ca. 30 minütigen Webinar-Reihe erfahren Sie, wie Sie die Effizienz- und Produktivitätspotenziale Ihrer Druckerei erschließen können – und wie einfach und kostengünstig das sein kann.

kostenlose 3-teilige Webinar-Reihe, 21., 23. und 26. Juni 2022, jeweils 10:00 - 10:30

Ja

Organisator: Impressed GmbH

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://impressed-workflow-server.de/impressed-webinar-reihe-the-big-picture/

Impressed Webinar-Reihe THE BIG PICTURE
Veranstaltungen
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/