szybkie pytanie szybka odpowiedź

szybkie pytanie szybka odpowiedź
NikolaPolov
  • Rejestracja:około 8 lat
  • Ostatnio:prawie 7 lat
  • Lokalizacja:Warszawa
  • Postów:106
0

Jak w "Dzej esie" usunąć losową właściwość obiektu . Czy jest jakiś lepszy sposób niż przeiterowanie po obiekcie for inem , wyniki do tablicy a później losowanie elementu z tej tablicy ?


Nie byłbym sobą gdybym był kimś innym
edytowany 1x, ostatnio: NikolaPolov
R3
  • Rejestracja:ponad 11 lat
  • Ostatnio:3 dni
  • Postów:419
2

http://rextester.com/ASYI97572

Kopiuj
//JavaScript-C24.2.0 (SpiderMonkey)
o = {
    "a": "aa",
    "b": "bbb",
    "c": "c",
    "d": "dddd"
}

print(Object.keys(o))
k = Object.keys(o)
delete o[k[k.length * Math.random() << 0]]
print(Object.keys(o))
DE
Może to oczywiste, ale napisze: pamiętamy o var/let/const przy deklarowaniu zmiennych.
LukeJL
dokładnie, to przy "use strict" będzie błędem składniowym na dodatek (dlatego warto używać "use strict", chociaż ja sam o tym często zapominam).
LukeJL
no bo w sumie po kiego grzyba deklarować przez przypadek zmienną globalną? (w takim małym programie to nie ma znaczenia, ale jak OP będzie coś robił większego to mogą być problemy).
LukeJL
O, pomyliłem się, to przy "use strict" nie będzie błędem składniowym, tylko błędem czasu wykonywania (rzuci wyjątkiem ReferenceError).

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.