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 ?

- Rejestracja:około 8 lat
- Ostatnio:prawie 7 lat
- Lokalizacja:Warszawa
- Postów:106
- Rejestracja:ponad 11 lat
- Ostatnio:3 dni
- Postów:419
2
http://rextester.com/ASYI97572
//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))
Desu
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.