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

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

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

שליפת שעה קודמת ומאוחרת של הממצא המבוקש ממערך שעות

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

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

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

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

      @yossiz אמר בשליפת שעה קודמת ומאוחרת של הממצא המבוקש ממערך שעות:

      דהיינו להוריד את השניות על ידי חיפוש והחלפה של רג'קס

      איך אני מוריד את השניות בלי להתקע עם הורדת הדקות
      אם אני יעשה

      /:00$/
      

      אני חושש שהוא ימחק דקות כאשר תיהיה שעה כזו 20:00

      yossizY תגובה 1 תגובה אחרונה
      0
      • ח מנותק
        ח מנותק
        חוקר
        כתב ב נערך לאחרונה על ידי
        #4

        רגע, פיספתי משהו
        את הקלט מהמאזין אני אמור להיות מסוגל לקלוט גם אם הוא בפורמט 12 ולא 24.
        דהיינו גם הקשה על 0630 אני צריך שהמערכת תתרגם ל1830 ותבצע את החיפוש

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

          קוד לדוגמה:

          let availableTimes = ['18:15:00', '19:00:00', '19:45:00', '20:15:00', '21:30:00'];
          const givenTime = 1830;
          
          function findTime (availableTimes, givenTime) {
            const normalizedTimes = availableTimes.map(time => {
              return parseInt(time.split(':').splice(0, 2).join(''));
            }).sort((a, b) => a - b);
          
            const nearestIndex = normalizedTimes.findIndex(time => time >= givenTime);
          
            if (nearestIndex === -1) return normalizedTimes[normalizedTimes.length - 1];
            else if (normalizedTimes[nearestIndex] === givenTime) return givenTime;
            else return [normalizedTimes[nearestIndex - 1], normalizedTimes[nearestIndex]];
          }
          
          console.log(findTime(availableTimes, givenTime));
          

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

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

            @חוקר אמר בשליפת שעה קודמת ומאוחרת של הממצא המבוקש ממערך שעות:

            דהיינו גם הקשה על 0630 אני צריך שהמערכת תתרגם ל1830 ותבצע את החיפוש

            כלומר לחפש גם בבוקר וגם בערב? או שתמיד הכוונה לערב?

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

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

              @yossiz אמר בשליפת שעה קודמת ומאוחרת של הממצא המבוקש ממערך שעות:

              שתמיד הכוונה לערב

              תמיד לערב

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

                @חוקר אז פשוט תמיד תוסיף 1200 אם המספר מתחת ל-1200

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

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

                  תודה על הכל תיכף אבדוק האם אני מסתדר איתו

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

                    @חוקר אמר בשליפת שעה קודמת ומאוחרת של הממצא המבוקש ממערך שעות:

                    איך אני מוריד את השניות בלי להתקע עם הורדת הדקות

                    בסוף לא עישתי רג'קס כי אני עצל מדי ומה שעשיתי הגיע אלי יותר קל... אבל אפשר בהחלט גם רג'קס:

                    "12:45:00".replace(/(^.{5}).*$/, '$1')
                    

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

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

                      @yossiz אמר בשליפת שעה קודמת ומאוחרת של הממצא המבוקש ממערך שעות:

                      כי אני עצל מדי

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

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

                        @חוקר אמר בשליפת שעה קודמת ומאוחרת של הממצא המבוקש ממערך שעות:

                        אם כבר אז אני עצל שעיני כמעט ונעצמות, ומספיק אתמול נרדמתי על המחשב..

                        טוב זה מסביר...
                        פעם הבא תביא שאלות קשות יותר למבחן 🤣

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

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

                          @yossiz אמר בשליפת שעה קודמת ומאוחרת של הממצא המבוקש ממערך שעות:

                          פעם הבא תביא שאלות קשות יותר למבחן

                          עוד מעט תעשה טסט וזה לא יעבוד או ש@dovid יגיע ויוכיח איך כתבתי נח עם 7 טעויות... אז מוקדם מדי לצחוק

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

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

                            @yossiz אמר בשליפת שעה קודמת ומאוחרת של הממצא המבוקש ממערך שעות:

                            עוד מעט תעשה טסט וזה לא יעבוד או ש@dovid יגיע ויוכיח איך כתבתי נח עם 7 טעויות... אז מוקדם מדי לצחוק

                            ראשית נראה שזה עובד.
                            שנית לאחר תחילת העיון נהנתי מהרעיון

                            time.split(':').splice(0, 2).join('')
                            

                            פשוט מאוד גם בשביל ההסרה וגם לא להתקע עם הורדת הדקות.
                            יפה מאוד!

                            תגובה 1 תגובה אחרונה
                            2
                            • ח מנותק
                              ח מנותק
                              חוקר
                              כתב ב נערך לאחרונה על ידי
                              #15

                              לאחר כמה התאמות כדי לדעת האם זה הקודם או הבא, זה הקוד המלא.

                              let availableTimes = ['18:15:00', '19:00:00', '19:45:00', '20:15:00', '21:30:00'];
                              const givenTime = '1830';
                              
                              function findTimeFromRange (availableTimes, givenTime) {
                                  givenTime = parseInt(givenTime);
                                  if (givenTime < 1200){givenTime += 1200}
                                  const normalizedTimes = availableTimes.map(time => {
                                      return parseInt(time.split(':').splice(0, 2).join(''));
                                  }).sort((a, b) => a - b);
                                  if (givenTime < normalizedTimes[0]){
                                      return {'next' : normalizedTimes[0]};
                                  }else if (givenTime > normalizedTimes[normalizedTimes.length - 1]){
                                      return {'previous' : normalizedTimes[normalizedTimes.length - 1]};
                                  }
                                  const nearestIndex = normalizedTimes.findIndex(time => time >= givenTime);
                                  if (normalizedTimes[nearestIndex] === -1) return {'previous' : normalizedTimes[normalizedTimes.length - 1]};
                                  else if (normalizedTimes[nearestIndex] === givenTime) return {'this' : givenTime};
                                  else return {'next' : normalizedTimes[nearestIndex - 1], 'previous' : normalizedTimes[nearestIndex]};
                              }
                              
                              console.log(givenTime, findTimeFromRange(availableTimes, givenTime));
                              

                              רק משהוא אחד לא ברור לי מה התכוון המשורר, מתי שורה מספר 16 רלוונטית? כי אם המספר המבוקש הוא מוקדם המספר הראשון במערך כבר התייחסת לזה בשורה 13, א"כ שורה 16 מיותרת? או שפספסתי משהו?

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

                                @חוקר אחרי שהוספת את הקוד שלך אכן זו קושיא...
                                הקוד שלך היינו שורות 10-14 הם בדיוק הדרך בה הייתי כותב,
                                אלא ש@yossiz בגאונות אופיינית כתב בתנאי אחד את כל האפשרויות, ולכן המקטע הזה מיותר וכפול.
                                אני לא מבין בדיוק למה אחרי שקיבלת את הקוד היית צריך לשנות בו, הוא לא הניב את המצופה?
                                כמו"כ אני מחזק אותך להבין יותר קודים שאתה מקבל/מעתיק, זה קשה גם לי, אבל אל תוותר. כשיש לך קוד, במיוחד כה קצר תתעקש להבין כל פיפס שלו, לא תתחרט.

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

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

                                ח yossizY 3 תגובות תגובה אחרונה
                                7
                                • dovidD מנותק
                                  dovidD מנותק
                                  dovid ניהול
                                  השיב לyossiz ב נערך לאחרונה על ידי
                                  #17

                                  @yossiz אמר ב[שליפת שעה קודמת ומאוחרת של הממצא המבוקש

                                  עוד מעט תעשה טסט וזה לא יעבוד או ש@dovid יגיע ויוכיח איך כתבתי נח עם 7 טעויות... אז מוקדם מדי לצחוק

                                  באופן כללי כזה משפט ועוד ממך זה מאוד מחמיא, אבל בהקשר הזה זה כמעט לועג לרש...
                                  הייתי כותב קוד הרבה פחות יפה פחות מדוייק ויותר ארוך.

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

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

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

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

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

                                      @dovid אמר בשליפת שעה קודמת ומאוחרת של הממצא המבוקש ממערך שעות:

                                      הקוד שלך היינו שורות 10-14 הם בדיוק הדרך בה הייתי כותב,

                                      קוד זה אינו מספיק בכדי לקבל את השעה הקודמת והבאה כשהוא מבקש שעה שהיא בתוך הטווח הנמצא במערך.
                                      לכן אני צריך עדיין את מה ש@yossiz כתב

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

                                        @חוקר נכון, זה בדיוק הנקודה שבכל מקרה צריך את הבדיקה של המקרה הקלאסי שזה בין שני שעות.
                                        ולכן אני משבח את הדרך של @yossiz שעושה הכל במכה.
                                        אפשר ללמד זכות על הקוד שלנו שהוא טיפלה יעיל יותר במקרה שהשעה גדולה מהאיבר האחרון כי זה חוסך בדיקה על כל ערך, חיחי..

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

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

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

                                          @חוקר אמר בשליפת שעה קודמת ומאוחרת של הממצא המבוקש ממערך שעות:

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

                                          אני לא מבין, הקוד של @yossiz עונה על הכל לפי קריאת הקוד.
                                          אני כעת אבל בודק בפועל.

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

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

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

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

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

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