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

question-closed [JS] Sprawdzanie czy element jest w obiekcie

VPS Starter Arubacloud
0 głosów
153 wizyt
pytanie zadane 15 września 2020 w JavaScript przez Marak123 Stary wyjadacz (11,190 p.)
zamknięte 15 września 2020 przez Marak123
Wie ktoś czy da się jakoś sprawdzić czy dany element znajduje się w danym obiekcie?

Np. mam nazwę "nazwa elementu":"napis" która znajduje się w obiekcie o nazwie "object" i teraz chcę sprawdzić czy ten element "nazwa elementu" znajduje się w obiekcie o nazwie object. Da się może?
komentarz zamknięcia: dzięki za odpowiedź i pomoc

1 odpowiedź

+1 głos
odpowiedź 15 września 2020 przez rafal.budzis Szeryf (85,260 p.)
wybrane 15 września 2020 przez Marak123
 
Najlepsza
if (object['nazwa elementu'] === undefined) {

lub 

if (typeof object['nazwa elementu'] === 'undefined') {

lub (tu nie zadziała jeśli wartością będzie false lub null lub 0)

if (!!object['nazwa elementu']) {

Jest jeszcze sporo innych opcji ale te chyba staarczą. W razie czego napisz dokładniej co chcesz zrobić ;) 

komentarz 15 września 2020 przez Marak123 Stary wyjadacz (11,190 p.)
ok dzięki o to mi właśnie chodziło
komentarz 18 września 2020 przez Wiciorny Ekspert (269,120 p.)

@rafal612b,

!!object

podwójna negacja? 

2
komentarz 19 września 2020 przez ScriptyChris Mędrzec (190,190 p.)
edycja 19 września 2020 przez ScriptyChris

podwójna negacja? 

To skrócony zapis konwersji wartości na typ boolean. Można też użyć konstruktora Boolean bez słówka new (żeby nie tworzyć obiektu). Cytując MDN:

var x = Boolean(expression);     // use this...
var x = !!(expression);          // ...or this
var x = new Boolean(expression); // don't use this!

A podwójna negacja bierze się stąd, że pierwszy wykrzyknik przekształca wartość na jej zaprzeczony odpowiednik logiczny (boolean), zaś drugi na jej właściwy odpowiednik logiczny, np.:

var stringValue = 'niepusty string';
console.log('zanegowany niepusty string:', !stringValue, ' /odpowiednik niepustego stringa w formie boolean:', !!stringValue);

var numberValue = 0;
console.log('zanegowane zero:', !numberValue, ' /odpowiednik zera w formie boolean:', !!numberValue);

console.log('obiekt jest zawsze "prawdziwy"', !!{});

 

komentarz 22 września 2020 przez Wiciorny Ekspert (269,120 p.)

@ScriptyChris serdeczne dzięki za odpowiedź, generalnie zadałem to pytanie własnie, żeby czegoś nowego się nauczyć, bo być może czegoś nie wiem, lub wyłapać pewien błąd. 
Jako Java Developer dla mnie to było bardzo dziwne, ale :D co nowa wiedza, to  zawsze na plus- dzieki za poświecenie czasu i odp.

Podobne pytania

0 głosów
1 odpowiedź 304 wizyt
0 głosów
1 odpowiedź 234 wizyt
pytanie zadane 26 sierpnia 2018 w JavaScript przez MrxCI Dyskutant (8,260 p.)
0 głosów
1 odpowiedź 346 wizyt
pytanie zadane 10 lutego 2018 w JavaScript przez Alterwar Dyskutant (7,650 p.)

92,452 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...