• 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
119 wizyt
pytanie zadane 21 lipca 2022 w JavaScript przez Piotrek2713 Mądrala (5,500 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,500 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 (254,880 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 (254,880 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ź 257 wizyt
0 głosów
1 odpowiedź 295 wizyt
pytanie zadane 19 października 2018 w JavaScript przez Mash92 Użytkownik (670 p.)
0 głosów
1 odpowiedź 582 wizyt
pytanie zadane 9 stycznia 2016 w JavaScript przez thedaw Obywatel (1,810 p.)

92,757 zapytań

141,679 odpowiedzi

320,441 komentarzy

62,101 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

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!

...