Connect failed: Connection timed out

[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: 390

5. Okt 2019, 17:22
Beitrag # 1 von 7
Bewertung:
(2377 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?
X

Ausgabe Array

WernerPerplies
Beiträge gesamt: 2760

5. Okt 2019, 17:42
Beitrag # 2 von 7
Beitrag ID: #572095
Bewertung: |||
(2373 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.


als Antwort auf: [#572094]

Ausgabe Array

Martin Fischer
  
Beiträge gesamt: 12779

5. Okt 2019, 18:02
Beitrag # 3 von 7
Beitrag ID: #572096
Bewertung: |||
(2364 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 );



als Antwort auf: [#572094]

Ausgabe Array

MarioF
Beiträge gesamt: 390

5. Okt 2019, 18:09
Beitrag # 4 von 7
Beitrag ID: #572097
Bewertung:
(2359 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


als Antwort auf: [#572096]

Ausgabe Array

MarioF
Beiträge gesamt: 390

5. Okt 2019, 19:32
Beitrag # 5 von 7
Beitrag ID: #572098
Bewertung:
(2347 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.


als Antwort auf: [#572096]

Ausgabe Array

WernerPerplies
Beiträge gesamt: 2760

6. Okt 2019, 08:38
Beitrag # 6 von 7
Beitrag ID: #572099
Bewertung: |||
(2292 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.


als Antwort auf: [#572097]

Ausgabe Array

MarioF
Beiträge gesamt: 390

6. Okt 2019, 18:05
Beitrag # 7 von 7
Beitrag ID: #572100
Bewertung:
(2269 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank...


als Antwort auf: [#572099]
X