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

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

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

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

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

    אני רוצה לייצר מערך ב JS מקלט של המשתמש, בדומה לבחירת עמודים להדפסה.
    לדוגמה:
    2,6,7-9 ייתן את התוצאה מערך של: 2 6 7 8 9.

    בנוסף אני צריך שזה יהיה גם טקסט, לא רק במערך, אלא גם בקלט, לדוגמה:
    01,03,06-12 ייתן את התוצאה: 01 03 06 07 08 09 10 11 12.
    זה כבר מסובך לגמרי...

    איך אני עושה דבר כזה??

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

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

      @www
      https://github.com/euank/node-parse-numeric-range

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

      בנוסף אני צריך שזה יהיה גם טקסט, לא רק במערך, אלא גם בקלט, לדוגמה:
      01,03,06-12 ייתן את התוצאה: 01 03 06 07 08 09 10 11 12.
      זה כבר מסובך לגמרי...

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

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

      WWWW תגובה 1 תגובה אחרונה
      3
      • 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
                          • דף הבית
                          • קטגוריות
                          • פוסטים אחרונים
                          • משתמשים
                          • חיפוש
                          • חוקי הפורום