Kezdőoldal » Számítástechnika » Programozás » JavaScript tömb vizsgálat?

JavaScript tömb vizsgálat?

Figyelt kérdés

Hogy tudom legegyszerűbben megvizsgálni, hogy 2 azonos méretű tömb elemei megegyeznek-e? A tömb elemeinek sorrendje mindegy.



(pl:

tomb1 = [1, 2, 3, 4, 5]

tomb2 = [5, 3, 4, 2, 1]


Úgy próbáltam, hogy írtam 5 for ciklust, ami összehasonlítja az első tömb első elemét a második tömb i. elemével, a második ciklus az első tömb 2. elemét a második tömb j. elemével, és így tovább...


Az egyik ismerősöm, aki jártas a programozásban, azt mondta, hogy ha úgy érzem, hogy valamit egyszerűbben is meg lehetett volna csinálni, akkor szinte biztos, hogy van rá egyszerűbb megoldás. :D


Köszönöm előre is a segítséget!



2018. okt. 19. 14:39
 1/10 anonim ***** válasza:
2 egymasbagyazott ciklus kell
2018. okt. 19. 15:28
Hasznos számodra ez a válasz?
 2/10 anonim ***** válasza:
Mondjuk tudtommal nem jellemző, hogy így legyen, de még jó, hogy nem mondjuk 100+ eleme van annak a tömbnek...reggelig szenvednél egy rossz megoldással. Bár legalább valószínűleg közben rájönnél, hogy hülyeséget csinálsz.
2018. okt. 19. 15:48
Hasznos számodra ez a válasz?
 3/10 A kérdező kommentje:
Igen, az én megoldásom csak kevés elemű tömböknél hatásos, nyilván máshogy álltam volna neki, ha tudom, hogy egy hosszú tömbről van szó, de pontosan ezért is fordultam ide segítségért. :D
2018. okt. 19. 15:54
 4/10 anonim ***** válasza:

Mint az első hozzászóló írta: elég két tömb.


Itt egy "naiv" példa:

[link]

különböző méretű tömböket nem vesszük figyelembe (azt se, ha a kisebb tömb összes eleme megtalálható lenne a nagyobban), illetve nem a leghatékonyabb megoldás, de példának megfelel.

2018. okt. 19. 16:31
Hasznos számodra ez a válasz?
 5/10 anonim ***** válasza:

"elég két tömb."

Szóval elég a két tömbön végigmenni két egymába ágyazott ciklussal.

2018. okt. 19. 16:38
Hasznos számodra ez a válasz?
 6/10 anonim ***** válasza:

Igazából elég két NEM egymásba ágyazott for ciklus is:

[link]


Ez lényegében egy diff függvény átalakított változata, ami egyenlőségvizsgálat ellenőrzésére van optimalizálva.


Technikailag három ciklusból áll, de a harmadik ciklus legelső lépésében visszatérünk false-al, szóval igazából kettő van.

2018. okt. 19. 21:06
Hasznos számodra ez a válasz?
 7/10 anonim ***** válasza:
100%
Sorba rendezed mindkettőt aztán megnézed, hogy tömb1 == tömb2 vagy sem.
2018. okt. 19. 21:36
Hasznos számodra ez a válasz?
 8/10 anonim ***** válasza:
63%

"Itt egy "naiv" példa:


[link]


Túl naív.

Az [1,1,2] és [1,2,2] tömbök nem azonosak, mégis azonosnak hiszi.


A sorba rendezős megoldás garantáltan működik.

2018. okt. 19. 21:45
Hasznos számodra ez a válasz?
 9/10 A kérdező kommentje:
Köszönöm szépen a segítséget! Tulajdonképpen minden válaszból tanultam, szóval pacsi mindenkinek! :D
2018. okt. 19. 22:20
 10/10 anonim ***** válasza:
Én előbb megnéznem a hosszát, ha nem egyenlő akkor nincs értelme foglalkozni vele. Majd sorba rendezném őket végül for ciklusban össze hasonlítanám.
2018. okt. 20. 13:05
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!