Wie manipuliere ich ein array?

2 Antworten

Du benötigst lediglich eine For-Schleife und dessen Bedingung festlegest, wie oft diese Schleife ausgeführt werden soll. Wenn die Ergebnisse (Sequenzen) nach jedem Durchlauf in einem Array gespeichert werden sollen, dies mit push erreichen kannst.

Funktion:

function sequence() { 
  let result = []; 
  for (let i = 0; i <= 20; i++) { 
    let zeros = '0'.repeat(20 - i); 
    let ones = '1'.repeat(i); 
    result.push(zeros + ones); 
  }  

  return result;  
}

// Funktionsaufruf, Ergebnis als Variable speichern
let sequenceArray = Sequence();

// In der Console ausgeben
console.log(sequenceArray);

Inhalt des sequenceArrays:

[
  "00000000000000000000",
  "00000000000000000001",
  "00000000000000000011",
  "00000000000000000111",
  "00000000000000001111",
  "00000000000000011111",
  "00000000000000111111",
  "00000000000001111111",
  "00000000000011111111",
  "00000000000111111111",
  "00000000001111111111",
  "00000000011111111111",
  "00000000111111111111",
  "00000001111111111111",
  "00000011111111111111",
  "00000111111111111111",
  "00001111111111111111",
  "00011111111111111111",
  "00111111111111111111",
  "01111111111111111111",
  "11111111111111111111"
]

Es geht auch kürzer (siehe auch @mihisu's Antwort):

Array.from({ length: 21 }, (_, i) => console.log('0'.repeat(20 - i) + '1'.repeat(i)));
Woher ich das weiß:Berufserfahrung – UI/UX Designer, Full-Stack Developer

So in der Art...

for (let i = 0; i <= 20; i++) {
    console.log("0".repeat(20-i)+"1".repeat(i));
}

Die Ausgabe in der Konsole dazu...

00000000000000000000
00000000000000000001
00000000000000000011
00000000000000000111
00000000000000001111
00000000000000011111
00000000000000111111
00000000000001111111
00000000000011111111
00000000000111111111
00000000001111111111
00000000011111111111
00000000111111111111
00000001111111111111
00000011111111111111
00000111111111111111
00001111111111111111
00011111111111111111
00111111111111111111
01111111111111111111
11111111111111111111

Mir ist jedoch nicht klar, was das...

Ich habe ein array[0,1,2,3,4]

... damit zu tun haben soll. Das passt nicht so recht zum Rest deiner Frage.


Zentur21 
Beitragsersteller
 25.08.2024, 02:17

Ich hab ein Kartenspiel Programmiert für meinen Discord Bot. Dort hab ich 20 Buttons die ich mit ? ausgebe und nachdem der User Buttons gedrückt hat wird die Karte "aufgedeckt" und da sind dann diese möglichen 5 zeichen darunter

0
Zentur21 
Beitragsersteller
 25.08.2024, 02:44
@Zentur21

Ich muss noch 2 Dinge einbauen undzwar ab lvl 17 soll die folge quasi auch die von 18 sein spricht 17+18 ist die selbe zahl 19+20 etc bis 25 (ich hoffe dass ich mich nicht verzählt habe) Und wenn es bei 25 angekommen ist sollen bei 26 die index sich beide verschiedenen da soll das was vorher die 0 war 1 sein und die 1 zur 2 werden. Und das soll bei 50 und 75 auch passieren. Und zu guter letzt soll der user von 1-20 2 karten umdrehen dürfen 21-40 3 karten etc quasi in 20er schritten

0
Zentur21 
Beitragsersteller
 25.08.2024, 02:45
@Zentur21

Ich weiß auch nicht ob es klüger ist ein array mit allen 100 zahlen zu machen dass ch quasi ne liste hab oder ob ich das mit diesen methoden und funktionen machen soll das ist dann einfacher späte zu patchen falls ich was ändern möchte damit ich nicht alle zahlen einzeln zählen und abändern muss

0
nullish  25.08.2024, 01:42

fett alter 🙈

0
Lukasistein  25.08.2024, 01:18

Wow, kannte die repeat Methode noch gar nicht. Danke, man lernt selbst nach 4 Jahren noch dazu.

0