Kezdőoldal » Számítástechnika » Programozás » Javascript, Tömbön végig...

Javascript, Tömbön végig loopolni úgy, hogy nem tudod hány objektuma van és annak hány tömbje?

Figyelt kérdés

Sziasztok, a kérdés adott...


Van egy tömböd, abban van 1 vagy 2 vagy 999 objektumod és ezekben az objektumokban is van 1 tömb amiben szintén lehet akár 20-30 objektum is, majd ezekben is lehet 1 tömb stb stb stb....


Gondolkoztam azon, hogy az utolsó objektumra kellene tenni egy flag-et, és így while-al végig menni rajta?

De ezt nem igazán preferálom...


Ötlete?


[Javascript]


2018. szept. 7. 15:35
 1/7 anonim ***** válasza:
Olyan nincs, hogy nem tudod, mivel JavaScriptbe a tömböknek lekérheted a hosszát: array.length
2018. szept. 7. 16:08
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:
Igen de ha lekéred a hosszát akkor megkapod az objektumok számát, de azokban az objektumokban van még array amibe szintén objektumok amiben szintén egy array amiben szintén objektumok stb stb stb
2018. szept. 7. 16:23
 3/7 anonim ***** válasza:

Es mit szamit, hogy azokban van meg belul is? Az a ciklus ugyse fog vegig menni bennuk.


Ha minden egyes szinten vegig akarsz menni, akkor rekurzio kulcsszora talalsz megoldasokat, egy bejaro fuggvenyt kell irnod ami ha gyerek van akkor meghivja magat es vegigmegy a gyerekeken.

2018. szept. 7. 16:55
Hasznos számodra ez a válasz?
 4/7 anonim ***** válasza:
Mélységi bejárás, illetve depth first search ami kell neked.
2018. szept. 7. 19:46
Hasznos számodra ez a válasz?
 5/7 anonim ***** válasza:

1) JS-ben az objektumokat lehet tömbként kezelni, vagyis végig lehet menni minden egyes propertyjén.

2) Van nagyon szép typeof operátor, amivel meg tudod nézni, hogy mi az adott property típusa.

3) És még rekurzív függvényeket/eljárásokat is lehet írni.

2018. szept. 7. 20:22
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:

Első blikkre... lehet rajta finomítani még, szóval rajta.


function Bejar(tomb) {

if (!Array.isArray(tomb)) {

console.log("Ez nem tömb, barátom"); return;

}


console.log("=> " + tomb.length + " elemű tömb bejárása...");

for (i=0; i<tomb.length; i++) {

if (Array.isArray(tomb[i])) {

console.log(i + " = TÖMB, MEGHÍVOM SAJÁT MAGAM");

Bejar(tomb[i], tomb[i]);

} else {

console.log(i + " = " + tomb[i]);

}

}

return tomb;

}


var TesztArray = [

"ezek","nem","tömbök", ["egy","kettő","három",["öccá","ezeöccá","háromszá"],"négy","öt"]

];


Bejar(TesztArray);

2018. szept. 10. 12:30
Hasznos számodra ez a válasz?
 7/7 anonim ***** válasza:

Bejar(tomb[i], tomb[i]); duplán van paraméterezve, csak egy paraméter kell neki. Tehát helyesen:

Bejar(tomb[i]);

2018. szept. 10. 12:32
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!