w przypadku używania obiektów jako "tablicy asocjacyjnej" lepiej ich używać tworząc Object.create(null)
żeby uniknąć dziedziczenia właściwości typu toString
czy innych z przodka Object (ew. używać hasOwnProperty
).
są jeszcze mapy:
const kartaKlienta = new Map;
kartaKlienta.set('Kowalski', 1);
kartaKlienta.set('Nowak', 3);
kartaKlienta.set('Kronung', 4);
alert(kartaKlienta.get('Kronung'));
https://codepen.io/anon/pen/EvvNXz
var karta_klienta = prompt()
var karta_klienta = [
Dwa razy deklarujesz tę samą zmienną. Co gorsza używasz var
które nawet nie zgłosi błędu (a powinno, bo zwykle takie zachowanie to błąd, niezrozumienie działania języka albo niechlujność - dlatego nowsze instrukcje let
oraz const
zwracają błąd jak się próbuje coś dwa razy zadeklarować).
więc tak by wystarczyło:
var karta_klienta = prompt()
karta_klienta = [
Ale z drugiej strony zmienna karta_klienta
nie pasuje do pierwszej linijki, bo przyjmujesz nazwisko, a nie kartę klienta, więc jakiś straszny chaos masz. Lepiej by było:
var nazwisko = prompt()
var karta_klienta = [
no i naprawdę let
czy const
byłyby lepsze, są łatwiejsze w użyciu po prostu (chociaż trochę inaczej działają niż var
).
No i zwykle zmienne się pisze po angielsku, bo tak jest praktyczniej, ale to już uwaga pozatechniczna.