Kezdőoldal » Számítástechnika » Weblapkészítés » Hogyan tudom ellenőrizni,...

Hogyan tudom ellenőrizni, hogy van-e adott nevű adat egy javascript struktúrában?

Figyelt kérdés

Mondjuk ilyen adataim vannak:

var data = [];

data.push({title:"akarmi", link:" [link]

És szeretném tudni, hogy mondjuk a data[i] elemnem van-e ténylegesen title megadva. Hogyan ellenőrizhetem?



2015. nov. 18. 13:50
 1/5 anonim ***** válasza:

[link]

valahogy így

aztán igény szerint ciklusba

2015. nov. 18. 14:30
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:

nem , nekem nem olyan van hogy valami üres (""), hanem hogy a title adott a link meg nem, vagy fordítva, azaz:

data.push({link:" [link]

data.push({title:"akarmi"});

2015. nov. 18. 20:54
 3/5 anonim ***** válasza:
if(data[i].title){}
2015. nov. 18. 23:16
Hasznos számodra ez a válasz?
 4/5 Drone007 ***** válasza:

Ha citromost válaszát értelmezted volna meg is lenne a válaszod:


if (typeof data[0].title !== 'undefined') {

//létezik

} else {

//nem létezik

}

2015. nov. 19. 06:37
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:

A

typeof data[0].title !== 'undefined'

teljesen korrekt ellenőrzés, ez az, ami szerintem a legjobban ajánlható a te kérdésedre.


Egy másik válaszoló által írt

data[0].title

is megfelel, mert objektum nem létező elemére való hivatkozás esetén nem kapsz hibát. De ez csak akkor tér vissza igazzal, ha az értéke nem 0-vá konvertálódik, vagyis nem lehet (int)0, (string)"" és (bool)false sem, mert akkor is nem létezőnek fogod látni. Ez sok esetben nem okoz problémát, tehát használható, de a típusellenőrzés ezt kiküszöböli.


Igazából a

typeof data[0] !== 'undefined' && data[0].title != ''

kettős ellenőrzés az előbbiekre való tekintettel felesleges, mivel a feltétel második tagja szintén típuskonverziót fog okozni, vagyis (int)0, (string)"" és (bool)false értékekre is hamissal tér vissza, vagyis nem létezőnek fogod látni. De arra meg ott az egyszerűbb megoldás is.

2015. nov. 19. 08:45
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!