-
[אני עדיין בצעדי הראשונים בJS.. אשמח לעזרה]
הרי אי אפשר שמשתנה יהיה מספר ולא תקין שמשתנה יהיה בעברית
מה לעשות כשמוכרחים שנתון בעברית או מספר יחזיר ערך אחר
לדוגמה אני רוצה שאם המשתמש יקליד טו אז יהיה 15 וכן אם יקליד 15 יהיה טו
וכן כל גימטרייה דהיינו ע' שווה 70 וכן להפך 80 שווה פ' -
@ב-ל השאלה שלך תאורטית או למעשה? אם זה למעשה תפרט קצת על הסיטואציה כדי שיהיה אפשר להתאים את התשובה לצורך שלך.
לדוגמא "אני רוצה שהמשתמש יכניס טקסט ואני אחשב לו את הגימטריא" -
אני מצטרף לבקשתו של @יוסף-בן-שמעון לקבל דוגמה מקיפה יותר.
נניח מדובר בקלט שקיבלת ממשתמש, והוא כעת בתוך משתנה:var input = "טו";
כעת אתה מניח בלועזית זה קל:
var input = "b";
אם נניח שהגרת ככה רשימה של משתנים:
var a = "1"; var b = "2";
כעת אנחנו רוצים למפות את הקלט של המשתמש למשתנה, למשל לעשות console.log למשתנה הנכון על פי תוכן הinput, איך בדיוק נעשה זאת?
-
המשך -
כלומר התשובה על הלועזית ועל העברית זהה.
בכל ערך שמתקבל מקלט כל שהוא (משתמש, שרת, אירוע וכדומה) שאנחנו רוצים למפות לערך אחר באופן קבוע,
אנחנו לא יכולים להיסמך על שם משתנה, אבל יכולים להיסמך על על שם איבר - אלמנט באובייקט (כל משתנה בJS זה איבר באובייקט (global או מקומי) כל שהוא אז בשפה הזו זה יוצא אותו דבר).המחשה:
var input = "טו"; var obj = { a: 1, "b": 2 }; obj.c = 3; obj[" "] = 4; obj["טו"] = 15; console.log(obj[input]);
עירבתי פה המון דברים:
- בשורה 3 הצהרתי על אובייקט עם איברים בתוכו
- האיבר a כתבו כמו כל אלמנט בJS ללא כל מרכאות כי זה מזהה חוקי. אבל האלמנט b שמתי במרכאות להמחיש את היכולת הזו. בצורה כזו ניתן לשים מזהים לא חוקיים כמו מספרים או רווחים וכדומה.
- בשורה 4 רואים איך אפשר ליצור אלמנט חדש באובייקט קיים (באותו הדרך בו ניתן לגשת לאלמנט קיים).
- בשורה 5 רואים שאת אפשרות יצירת האלמנט החדש או גישה לאלמנט קיים, ניתן לעשות ע"י "אינדקס" כלומר סוגריים מסולסלות עם ערך מכל סוג, שמשמש כ"מפתח" כלומר שם האלמנט. זו דרך נוספת להגדיר מזהים לא חוקיים כמו מספרים ורווחים וגם מזהים שלא ידועים בכלל בזמן כתיבת הקוד, כמו כאלה שמגיעים מקלט משתמש/שרת/אירוע וכו'
-