• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Losowe elementy a dwóch tablic bez powtarzania

Object Storage Arubacloud
+1 głos
117 wizyt
pytanie zadane 21 lipca 2022 w JavaScript przez Piotrek2713 Mądrala (5,380 p.)

Mam utworzone dwie tablice w js

let cards = ["ciri.png", "geralt.png", "iorweth.png", "jaskier.png", "triss.png", "yen.png"];

oraz

let id_diva = new Array(12);
for (i=0; i<=11; i++)
{
    id_diva[i] = `c${i}`;
    console.log(id_diva[i]);
    tresc_diva = `${tresc_diva}<div id="${id_diva[i]}"></div>`;
    $('main').html(tresc_diva);
};

Chcę dla każdego elementu z tablicy cards wylosować dwa elementy z tablicy id_diva bez powtarzania i całość wykonać 6 razy.

1
komentarz 21 lipca 2022 przez PramatycznyJunior Początkujący (420 p.)
dziwi mnie fakt tego, ze chcesz pracowac jako junior- robic jakies nowe zlecenia, natomiast zadajesz non stop o pytania rozwiazania problemu ktore nie jest problemem programistycznym a wynikiem ANALIZY logicznego myślenia i podejścia do problemu.
komentarz 21 lipca 2022 przez Piotrek2713 Mądrala (5,380 p.)

Zastanowię się nad tym co piszesz

dziwi mnie fakt tego, ze chcesz pracowac jako junior- robic jakies nowe zlecenia,

 Co masz przez to na myśli? Nie robię zleceń. Po prostu uczę się z YT sprawdzam wiedzę pisząc podobny kod, podobne skrypty oraz na podstawie zdobytej wiedzy sprawdzam się w rozwiązywaniu problemów, choć często mam z tym problemy.

komentarz 21 lipca 2022 przez VBService Ekspert (253,280 p.)
edycja 22 lipca 2022 przez VBService

@Piotrek2713, BTW, w for może użyj 

for (i=0; i<id_diva.length; i++)

 

1 odpowiedź

0 głosów
odpowiedź 22 lipca 2022 przez VBService Ekspert (253,280 p.)
wybrane 25 lipca 2022 przez Piotrek2713
 
Najlepsza

Proponuję wartości w tablicy id_diva "ustawić" losowo np. tak

const cards = ["ciri.png", "geralt.png", "iorweth.png", "jaskier.png", "triss.png", "yen.png"]; const id_diva = new Array(12);

for (i=0; i<id_diva.length; i++)
{
    id_diva[i] = `c${i}`;
    //tresc_diva = `${tresc_diva}<div id="${id_diva[i]}"></div>`;
    //$('main').html(tresc_diva);
}

console.log(id_diva);
id_diva.sort(() => Math.random() - 0.5);
console.log(id_diva);

lub jak chcesz zachować oryginalną zawartość tablicy id_diva wykonać losowe ustawienie wartości (shuffle) na kopii tablicy id_diva

const cards = ["ciri.png", "geralt.png", "iorweth.png", "jaskier.png", "triss.png", "yen.png"];
const id_diva = new Array(12);

for (i=0; i<id_diva.length; i++)
{
    id_diva[i] = `c${i}`;
    //tresc_diva = `${tresc_diva}<div id="${id_diva[i]}"></div>`;
    //$('main').html(tresc_diva);
};

id_diva_shuffle = [...id_diva];
id_diva_shuffle.sort(() => Math.random() - 0.5);
console.log(id_diva, id_diva_shuffle);

i pobierać w pętli z tablicy cards jeden element a z tablicy id_diva_shuffle dwa kolejne w jednym "obrocie" pętli

const cards_random = new Array(cards.length);
for (let i=0; i<cards.length; i++) {
  cards_random[i] = [ cards[i], id_diva_shuffle.shift(), id_diva_shuffle.shift() ];
}

console.log(cards_random);
console.log(cards_random[0], cards_random[0][0], cards_random[0][1]); // itd.

 

Podobne pytania

+1 głos
1 odpowiedź 247 wizyt
0 głosów
1 odpowiedź 289 wizyt
pytanie zadane 19 października 2018 w JavaScript przez Mash92 Użytkownik (670 p.)
0 głosów
1 odpowiedź 567 wizyt
pytanie zadane 9 stycznia 2016 w JavaScript przez thedaw Obywatel (1,810 p.)

92,568 zapytań

141,420 odpowiedzi

319,617 komentarzy

61,953 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...