• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Userscript: Zahlen mit 000,001,002 usw. erweitern

Scriptah

New member
Hi zusammen, bin neu hier und auch ein Anfänger in Sachen Javascript.

Ich habe nun aber ein Problem und zwar... (ist für ein Userscript)

Der Code sieht momentan ca. so aus (sind noch viel mehr Kategorien und Zahlen, aber immer dasselbe Prinzip.):
Code:
var List = [
  {
    name: first,
    items: [
      53000,
      54000,
    ]
  },
  {
    name: second,
    items: [
      12000,
      13000,
      15000,
    ]
  },
];

jede Zahl soll schlussendlich aber immer mehrmals vorkommen, jeweils um 1 erhöht, (soll dann bis 005 gehen, jetzt aber nicht relevant, da es nur um das Beispiel geht):

Code:
var List = [
  {
    name: first,
    items: [
      53000,
      53001,
      53002,
      54000,
      54001,
      54002,
    ]
  },
  {
    name: second,
    items: [
      12000,
      12001,
      12002,
      13000,
      13001,
      13002,
      15000,
      15001,
      15002,
    ]
  },
];

das könnte man doch entweder so lösen, dass jeweils 'k' mit 000,001,002 usw. definiert wird, und jede Zahl jeweils mit der Endung aufgelistet wird:

Code:
var List = [
  {
    name: first,
    items: [
      53 + k,
      54 + k,
    ]
  },
  {
    name: second,
    items: [
      12 + k,
      13 + k,
      15 + k,
    ]
  },
];

oder einfach bei jeder Zahl soll +1, +2 usw. gezählt werden, dass man dann auch auf die richtigen Zahlen kommt.


Ist es möglich, das irgendwie umzusetzen? Denn es wäre eine grosse Vereinfachung, sonst müsste ich jede Zahl 6 mal auflisten und das werden dann ganz viele.

Freue mich auf Antworten
mfg Scriptah
 
Moin,

wenn du mit 10+k arbeitest hast du am Ende keine Zahl mehr, sondern einen String, also eine Zeichenkette, welche erst wieder in eine Zahl umgewandelt werden muss. Schau dir dochmal JavaScript Schleifen (JavaScript/Schleifen) und Funktionen (JavaScript/Funktionen) an. Dies sind die beiden Grundlagen die du für dein Problem brauchst, und dann lässt du dir die Zahlen entsprechend berechnen und in deine Liste (JavaScript/Objekte/Array) einfügen.

LG ToM
 
Ok, super danke.
Ich schaue mir das Ganze mal an und melde mich dann wieder.

- - - Aktualisiert - - -

Habs sogar hingegkriegt :)

Code:
var List = [
  {
    name: 'first',
    items: [
      53000,
      54000,
    ]
  },
  {
    name: 'second',
    items: [
      12000,
      13000,
      15000,
    ]
  },
];
Listen = function (id) {
  var items,
  nr = List[id].items,
  items = [
  ];
  for (var g = 0; g < nr.length; g++) {
    for (var h = 0; h <= 5; h++) {
      items.push(nr[g] + h);
    }
  }
......usw.

die erste Schleife nimmt jede Array Stelle und die zweite for Schleife addiert jedem 0 bis 5 dazu, das wird dann in ein neues Array eingefügt und beim nächsten Gebrauch wieder leer bereitgestellt.
Der Code beginnt schon vorher und geht nachher noch weiter, falls etwas nicht passen sollte ;)
 
Zuletzt bearbeitet:
Zurück
Oben