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

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

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

המרת קלט מורכב מהמשתמש למערך, JS

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

    @yossiz אמר בהמרת קלט מורכב מהמשתמש למערך, JS:

    לא הבנתי את השלב הנוסף של הקושי

    בדיוק כמו שכתבתי, אני צריך אופציה של "01" ו "001", וכן "0000".

    באמצעות הפונקציה הנ"ל, זה מה שאני מקבל:
    07823bf9-ff35-4cf4-a8ea-3df260397115-image.png

    WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

    yossizY OdedDvirO 2 תגובות תגובה אחרונה
    0
    • yossizY מנותק
      yossizY מנותק
      yossiz
      השיב לWWW ב נערך לאחרונה על ידי yossiz
      #4

      @www

      לא כתבת ברור אם הקוד אמור לזהות את הפורמט או שמישהו יזין את הפורמט לקוד והקוד רק חייב לפרמט אותו.

      האם צריך לפרמט כל חלק בפני עצמו? או שמספיק לזהות מהמספר הראשון את הפורמט של האחרים? (זה מספיק רק בהנחה שהם ממויינים ממטה למעלה)
      (בתמונה יש תערובות של פורמטים בקלט)

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

      WWWW תגובה 1 תגובה אחרונה
      3
      • OdedDvirO מנותק
        OdedDvirO מנותק
        OdedDvir
        השיב לWWW ב נערך לאחרונה על ידי
        #5

        @www אמר בהמרת קלט מורכב מהמשתמש למערך, JS:

        באמצעות הפונקציה הנ"ל, זה מה שאני מקבל:
        07823bf9-ff35-4cf4-a8ea-3df260397115-image.png

        מה הבעיה בפלט, זה בדיוק מה שרצית, לא?
        משאלת @yossiz אני מבין שרצונך לפרמט גם את הפלט עם אפסים מובילים (לפי הקלט)

        dovidD תגובה 1 תגובה אחרונה
        3
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          השיב לOdedDvir ב נערך לאחרונה על ידי dovid
          #6
          function range(input){
              var result = [];
              var items = input.split(',');
              for(var item of items){
                  var ranges = item.split('-');
          
                  if(ranges.length == 1)
                      result.push(item);
                  else{
                     var start = +ranges[0];
                     var end = +ranges[1];
                     var needPad = ranges[0][0] == '0';
                     for(let i = start; i <= end; i++)
                          result.push(needPad ? i.toString().padStart(ranges[1].length, '0') : i);
                     
                  }
              }
              return result;
          }
          
          range("01,03,06-12,25-30")
          

          ["01", "03", "06", "07", "08", "09", "10", "11", "12", "25", "26", "27", "28", "29", "30"]

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

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

          yossizY WWWW 2 תגובות תגובה אחרונה
          4
          • yossizY מנותק
            yossizY מנותק
            yossiz
            השיב לdovid ב נערך לאחרונה על ידי yossiz
            #7

            @dovid שתי הערות/שיפורים קטנים:
            שורה 3

            var items = input.split(',').map(s => s.trim());
            

            וכנ"ל שורה 5:

            var ranges = item.split('-').map(s => s.trim());
            

            שורה 14:

            result.push(needPad ? i.toString().padStart(ranges[1].length, '0') : i.toString());
            

            וכמובן צריך לטפל במצבים של קלט לא תקין...

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

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

              @WWW אם עוד לא הסתכלת... הקוד של הספרייה שהבאתי הוא פחות או יותר שווה לקוד של @dovid חוץ מכמה פיצ'רים שאתה לא צריך מן הסתם:

              • כמה תווים לציין טווח: - ... .. ‥ …
              • התעלמות מערכים לא מספריים (זה יכול להיות טוב או לא טוב, תלוי בצרכים)
              • אפשרות לטווחים "הפוכים" (10-1 במקום 1-10)
              • אפשרות למספרים שליליים (הקוד של דוד כמעט תומך בזה)

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

              WWWW תגובה 1 תגובה אחרונה
              3
              • WWWW מנותק
                WWWW מנותק
                WWW
                כתב ב נערך לאחרונה על ידי
                #9

                וואוו! תודה רבה לכם! @dovid @yossiz
                אני הלכתי לישון... ואתם הבאתם לי משהו מוכן!

                WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                תגובה 1 תגובה אחרונה
                1
                • WWWW מנותק
                  WWWW מנותק
                  WWW
                  השיב לyossiz ב נערך לאחרונה על ידי
                  #10

                  @yossiz אמר בהמרת קלט מורכב מהמשתמש למערך, JS:

                  @www

                  לא כתבת ברור אם הקוד אמור לזהות את הפורמט או שמישהו יזין את הפורמט לקוד והקוד רק חייב לפרמט אותו.

                  האם צריך לפרמט כל חלק בפני עצמו? או שמספיק לזהות מהמספר הראשון את הפורמט של האחרים? (זה מספיק רק בהנחה שהם ממויינים ממטה למעלה)
                  (בתמונה יש תערובות של פורמטים בקלט)

                  אני רוצה שאם יקלידו: "08-11" יתקבל מערך עם סטרינגים "08" "09" וכו' "11".
                  ואם יקלידו 1-3, יתקבל מערך עם סטרינגים "1" "2" "3".
                  ואם יקלידו "001-003" יתקבל סטרינגים "001" "002" "003".

                  עכשיו אני בודק אם הקוד של @dovid עונה על הציפיות!

                  WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                  תגובה 1 תגובה אחרונה
                  1
                  • WWWW מנותק
                    WWWW מנותק
                    WWW
                    השיב לyossiz ב נערך לאחרונה על ידי WWW
                    #11

                    @yossiz אמר בהמרת קלט מורכב מהמשתמש למערך, JS:

                    @WWW אם עוד לא הסתכלת... הקוד של הספרייה שהבאתי הוא פחות או יותר שווה לקוד של @dovid חוץ מכמה פיצ'רים שאתה לא צריך מן הסתם:

                    הקוד של הספרייה שלך כבר עבד לי מצוין אתמול, אבל רק עם 1 2 3 וכמובן לא עם 01 02 03.
                    הקוד של @dovid הרבה יותר מובן וקריא.

                    WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                    תגובה 1 תגובה אחרונה
                    1
                    • WWWW מנותק
                      WWWW מנותק
                      WWW
                      השיב לdovid ב נערך לאחרונה על ידי
                      #12

                      @dovid עובד מצוין!
                      יישר כח.
                      הוספתי את התיקונים של @yossiz

                      WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                      תגובה 1 תגובה אחרונה
                      0

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

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

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