דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ביצוע פעולה על מערך ששמו מגיע מהארגומנט (של הפונקציה)

ביצוע פעולה על מערך ששמו מגיע מהארגומנט (של הפונקציה)

מתוזמן נעוץ נעול הועבר תכנות
12 פוסטים 3 כותבים 268 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • צדיק תמיםצ מנותק
    צדיק תמיםצ מנותק
    צדיק תמים
    השיב לyossiz ב נערך לאחרונה על ידי צדיק תמים
    #3

    אכן הדרך של המיפוי כאובייקט נראית לי הכי אלגנטית, אבל לשם הרחבת הידע-
    @yossiz אמר בביצוע פעולה על מערך ששמו מגיע מהארגומנט (של הפונקציה):

    יש דרך לא נורמלית, אבל אל תעשה את זה...
    eval(`arrayList${TypeList}Items`).length = 0

    גם אם הTypeList מגיע מהקוד עצמו ולא מהמשתמש? (כלומר בקוד מוגדר שכפתור X קורא לפונקציה עם ארגומנט "X", וכפתור Z קורא לפונקציה עם ארגומנט "Z", ולא שהמשתמש מזין את שם הרשימה בדרך כלשהיא)

    Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
    טיפים

    yossizY 2 תגובות תגובה אחרונה
    1
    • yossizY מנותק
      yossizY מנותק
      yossiz
      השיב לצדיק תמים ב נערך לאחרונה על ידי yossiz
      #4

      @צדיק-תמים כן, השימוש ב-eval ירים גבות, גם אם במקרה הזה זה אולי לא כל כך נורא. זה תבנית קוד לא מקובלת.

      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

      תגובה 1 תגובה אחרונה
      3
      • yossizY מנותק
        yossizY מנותק
        yossiz
        השיב לצדיק תמים ב נערך לאחרונה על ידי
        #5

        @צדיק-תמים עיין כאן עוד סיבות לא להשתמש ב-eval

        📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

        צדיק תמיםצ תגובה 1 תגובה אחרונה
        1
        • צדיק תמיםצ מנותק
          צדיק תמיםצ מנותק
          צדיק תמים
          השיב לyossiz ב נערך לאחרונה על ידי
          #6

          @yossiz המתרגם של הכרום לא אוהב את הדף שהבאת משום מה... הוא לא ממש מתרגם אותו, ואם אני מפעיל את הסימניה שמתקנת את הRTL הוא בכלל מתרגז ומבטל את כל התרגום שכבר היה... 😒

          Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
          טיפים

          yossizY תגובה 1 תגובה אחרונה
          0
          • yossizY מנותק
            yossizY מנותק
            yossiz
            השיב לצדיק תמים ב נערך לאחרונה על ידי
            #7

            @צדיק-תמים יש שם הסבר למה השימוש ב-eval גרוע מאוד לביצועים

            📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

            dovidD תגובה 1 תגובה אחרונה
            2
            • dovidD מנותק
              dovidD מנותק
              dovid ניהול
              השיב לyossiz ב נערך לאחרונה על ידי dovid
              #8

              @yossiz כמו תמיד הנושא הטכנולוגי תפס אותך יותר מאשר הצורך...

              @צדיק-תמים שים את המערכים באובייקט:

              arrays = {};
              arrays.ListServerItems = [9, 5, 4];
              arrays.ListUserItems = [1, 2, 3];
              function claerArrayListItems(TypeList) {
                arrays[`List${TypeList}Items`] = [];
              }
              claerArrayListItems("User");
              console.log(arrayListUserItems);
              
              

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              צדיק תמיםצ תגובה 1 תגובה אחרונה
              0
              • צדיק תמיםצ מנותק
                צדיק תמיםצ מנותק
                צדיק תמים
                השיב לdovid ב נערך לאחרונה על ידי צדיק תמים
                #9

                @dovid אני דווקא בעד... 🙂
                ואסביר: כשאני כותב פה שאלה (כמעט תמיד) זה לא רק בשביל לדעת איך אני עכשיו מעיף את הבעיה הזאת וממשיך כבר לשורה הבאה של הקוד. כמובן אני כותב כאן כי נתקעתי בזה, ואני רוצה להתקדם, אבל לקבל "קביים" חד-פעמיים זה קצת חבל...
                ולכן תשובה טובה בשבילי זה תשובה שמכילה קודם כל את הפתרון הבסיסי (יותר בקצרה) - כי בכל זאת, לפעמים יש שטח שקשה ללכת וצריך קביים 🙃, אבל גם חלק יותר מעמיק ומפורט - להרחבת הידע בנושא הספציפי... כדי שפעם הבאה שאתקל בבבעיה כזו בוואריאציה מעט שונה, אבין להקביל בין המקרים...
                לדעתי @yossiz עשה את זה באופן מעולה ומושלם למדיי.

                Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
                טיפים

                dovidD תגובה 1 תגובה אחרונה
                4
                • dovidD מנותק
                  dovidD מנותק
                  dovid ניהול
                  השיב לצדיק תמים ב נערך לאחרונה על ידי dovid
                  #10

                  @צדיק-תמים בשביל להכריע בינינו אתה צריך להכיר את ההיסטוריה של הבעיטות מתחת לשולחן 🙂
                  אני חושב ש@yossiz יסכים איתי שהוא לא היה אמור בכלל לגלות לך את קיומו של eval בגלל הצורך שהתעורר לך (שבכלל לא נגע ל"הרצת טקסט כקוד"). זה יצא לו כי הוא ישר תפס את הדרך הטכנית שניסת שהדרך היחידה להצליח בכיוון זה הוא eval. אבל הצורך שלך לא נוגע לפתרון הזה בכהוא זה.

                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                  צדיק תמיםצ תגובה 1 תגובה אחרונה
                  3
                  • צדיק תמיםצ מנותק
                    צדיק תמיםצ מנותק
                    צדיק תמים
                    השיב לdovid ב נערך לאחרונה על ידי
                    #11

                    @dovid לא דיברתי על האזכור של eval כן או לא, אלא על התמצות/קצרנות - @yossiz הביא 2 דרכים לפתור את הבעיה שהעיליתי, והזכיר בדרך אגב את eval בדרך השלילה (שעל זה אפשר לדון האם זה נכון או לא, נראה לי שכן כי אני הרי הכרתי את eval, רק עוד לא חשבתי על השימוש בו בהקשר זה...), ואני ניצלתי זאת כדי לוודא באמת את מידת השלילה של השימוש בזה (באופן כללי).
                    לעומת זאת התשובה הזו שלך אמנם השמיטה את הeval, אך על הדרך גם את שאר הפירוט... וקצת חבל
                    ואני הבנתי שעל זה כיוונת (שאין עניין להרחיב בשתי הדרכים האחרות), ועל זה היתה תגובתי...

                    Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
                    טיפים

                    dovidD תגובה 1 תגובה אחרונה
                    4
                    • dovidD מנותק
                      dovidD מנותק
                      dovid ניהול
                      השיב לצדיק תמים ב נערך לאחרונה על ידי
                      #12

                      @צדיק-תמים אני מתבייש מאוד, לא קראתי כנראה את הפוסט של יוסי עד הסוף...
                      אתה צודק לגמרי.

                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                      תגובה 1 תגובה אחרונה
                      8
                      • dovidD dovid העביר נושא זה מ-תכנות ב-

                      בא תתחבר לדף היומי!
                      • התחברות

                      • אין לך חשבון עדיין? הרשמה

                      • התחברו או הירשמו כדי לחפש.
                      • פוסט ראשון
                        פוסט אחרון
                      0
                      • דף הבית
                      • קטגוריות
                      • פוסטים אחרונים
                      • משתמשים
                      • חיפוש
                      • חוקי הפורום