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

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

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

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

מתוזמן נעוץ נעול הועבר תכנות
29 פוסטים 3 כותבים 278 צפיות 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
    • ח חוקר

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

      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 מנותק
      dovidD מנותק
      dovid
      ניהול
      כתב ב נערך לאחרונה על ידי dovid
      #16

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

      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
      ח yossizY 3 תגובות תגובה אחרונה
      7
      • yossizY yossiz

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

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

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

        dovidD מנותק
        dovidD מנותק
        dovid
        ניהול
        כתב ב נערך לאחרונה על ידי
        #17

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

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

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

        • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
        • בכל נושא אפשר ליצור קשר dovid@tchumim.com
        תגובה 1 תגובה אחרונה
        1
        • dovidD dovid

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

          ח מנותק
          ח מנותק
          חוקר
          כתב ב נערך לאחרונה על ידי
          #18

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

          dovidD תגובה 1 תגובה אחרונה
          0
          • dovidD dovid

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

            ח מנותק
            ח מנותק
            חוקר
            כתב ב נערך לאחרונה על ידי
            #19

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

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

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

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

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

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

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

              dovidD מנותק
              dovidD מנותק
              dovid
              ניהול
              כתב ב נערך לאחרונה על ידי
              #20

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

              • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
              • בכל נושא אפשר ליצור קשר dovid@tchumim.com
              תגובה 1 תגובה אחרונה
              3
              • ח חוקר

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

                dovidD מנותק
                dovidD מנותק
                dovid
                ניהול
                כתב ב נערך לאחרונה על ידי
                #21

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

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

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

                • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                dovidD תגובה 1 תגובה אחרונה
                1
                • dovidD dovid

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

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

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

                  dovidD מנותק
                  dovidD מנותק
                  dovid
                  ניהול
                  כתב ב נערך לאחרונה על ידי
                  #22

                  בדקתי, הקוד המקורי היה מושלם, בתיקון תיקנת בטעות את הnearestIndex === -1.
                  הנה הקוד שעובד, בדיוק מה ש@yossiz כתב למעט האובייקט של הקודם והבא שהוספת בטוב טעם:

                  let availableTimes = ['18:15:00',
                                        '19:00:00',
                                        '19:45:00',
                                        '20:15:00',
                                        '21:30:00'];
                  
                  console.log(findTimeFromRange(availableTimes, 1830));
                  console.log(findTimeFromRange(availableTimes, 2130));
                  console.log(findTimeFromRange(availableTimes, 2135));
                  
                  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);
                  
                      const nearestIndex = normalizedTimes.findIndex(time => time >= givenTime);
                  
                      if (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]};
                  }
                   
                  

                  הנה לצפות בתוצאות https://repl.it/@davidlevtov/StarryNimbleParticles#index.js

                  • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                  • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                  dovidD ח 2 תגובות תגובה אחרונה
                  2
                  • dovidD dovid

                    בדקתי, הקוד המקורי היה מושלם, בתיקון תיקנת בטעות את הnearestIndex === -1.
                    הנה הקוד שעובד, בדיוק מה ש@yossiz כתב למעט האובייקט של הקודם והבא שהוספת בטוב טעם:

                    let availableTimes = ['18:15:00',
                                          '19:00:00',
                                          '19:45:00',
                                          '20:15:00',
                                          '21:30:00'];
                    
                    console.log(findTimeFromRange(availableTimes, 1830));
                    console.log(findTimeFromRange(availableTimes, 2130));
                    console.log(findTimeFromRange(availableTimes, 2135));
                    
                    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);
                    
                        const nearestIndex = normalizedTimes.findIndex(time => time >= givenTime);
                    
                        if (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]};
                    }
                     
                    

                    הנה לצפות בתוצאות https://repl.it/@davidlevtov/StarryNimbleParticles#index.js

                    dovidD מנותק
                    dovidD מנותק
                    dovid
                    ניהול
                    כתב ב נערך לאחרונה על ידי
                    #23

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

                    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                    תגובה 1 תגובה אחרונה
                    2
                    • dovidD dovid

                      בדקתי, הקוד המקורי היה מושלם, בתיקון תיקנת בטעות את הnearestIndex === -1.
                      הנה הקוד שעובד, בדיוק מה ש@yossiz כתב למעט האובייקט של הקודם והבא שהוספת בטוב טעם:

                      let availableTimes = ['18:15:00',
                                            '19:00:00',
                                            '19:45:00',
                                            '20:15:00',
                                            '21:30:00'];
                      
                      console.log(findTimeFromRange(availableTimes, 1830));
                      console.log(findTimeFromRange(availableTimes, 2130));
                      console.log(findTimeFromRange(availableTimes, 2135));
                      
                      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);
                      
                          const nearestIndex = normalizedTimes.findIndex(time => time >= givenTime);
                      
                          if (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]};
                      }
                       
                      

                      הנה לצפות בתוצאות https://repl.it/@davidlevtov/StarryNimbleParticles#index.js

                      ח מנותק
                      ח מנותק
                      חוקר
                      כתב ב נערך לאחרונה על ידי
                      #24

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

                      הנה הקוד שעובד, בדיוק מה ש@yossiz כתב למעט האובייקט של הקודם והבא שהוספת בטוב טעם:

                      הבעיה של הקוד (שזה הסיבה שהוספתי את הקוד שלי)
                      היא מה קורה במקרה כזה:

                      console.log(findTimeFromRange(availableTimes, 1730));
                      

                      התוצאה שקיבלתי היא:
                      { next: undefined, previous: 1815 }
                      האמת שבעצם זה לא הכי נורא, אבל כן הייתי מעדיף לקבל רק את previous ללא ה next.

                      dovidD תגובה 1 תגובה אחרונה
                      0
                      • ח חוקר

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

                        הנה הקוד שעובד, בדיוק מה ש@yossiz כתב למעט האובייקט של הקודם והבא שהוספת בטוב טעם:

                        הבעיה של הקוד (שזה הסיבה שהוספתי את הקוד שלי)
                        היא מה קורה במקרה כזה:

                        console.log(findTimeFromRange(availableTimes, 1730));
                        

                        התוצאה שקיבלתי היא:
                        { next: undefined, previous: 1815 }
                        האמת שבעצם זה לא הכי נורא, אבל כן הייתי מעדיף לקבל רק את previous ללא ה next.

                        dovidD מנותק
                        dovidD מנותק
                        dovid
                        ניהול
                        כתב ב נערך לאחרונה על ידי dovid
                        #25

                        @חוקר זה בהחלט לא נורא, אבל תוכל להוסיך שורה שבודקת אם זה == 0, ככה:

                        if (nearestIndex === -1) return {'previous' : normalizedTimes[normalizedTimes.length - 1]};
                        if (normalizedTimes[nearestIndex] === givenTime) return {'this' : givenTime};
                        if (nearestIndex === 0) return {'next' : normalizedTimes[0]};
                        return {'next' : normalizedTimes[nearestIndex - 1], 'previous' : normalizedTimes[nearestIndex]};
                        
                        

                        השמטתי את הelse כי בכל מקרה הreturn עוצר את הפונקציה.

                        • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                        • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                        ח 2 תגובות תגובה אחרונה
                        3
                        • dovidD dovid

                          @חוקר זה בהחלט לא נורא, אבל תוכל להוסיך שורה שבודקת אם זה == 0, ככה:

                          if (nearestIndex === -1) return {'previous' : normalizedTimes[normalizedTimes.length - 1]};
                          if (normalizedTimes[nearestIndex] === givenTime) return {'this' : givenTime};
                          if (nearestIndex === 0) return {'next' : normalizedTimes[0]};
                          return {'next' : normalizedTimes[nearestIndex - 1], 'previous' : normalizedTimes[nearestIndex]};
                          
                          

                          השמטתי את הelse כי בכל מקרה הreturn עוצר את הפונקציה.

                          ח מנותק
                          ח מנותק
                          חוקר
                          כתב ב נערך לאחרונה על ידי
                          #26

                          @dovid
                          רק תיקון קטן בשורה השניה

                              if (nearestIndex === 0) return {'next' : normalizedTimes[0]};
                          
                          dovidD תגובה 1 תגובה אחרונה
                          1
                          • ח חוקר

                            @dovid
                            רק תיקון קטן בשורה השניה

                                if (nearestIndex === 0) return {'next' : normalizedTimes[0]};
                            
                            dovidD מנותק
                            dovidD מנותק
                            dovid
                            ניהול
                            כתב ב נערך לאחרונה על ידי
                            #27

                            @חוקר תיקנתי וגם תיקנתי את הסדר.

                            • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                            • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                            תגובה 1 תגובה אחרונה
                            1
                            • dovidD dovid

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

                              yossizY מנותק
                              yossizY מנותק
                              yossiz
                              כתב ב נערך לאחרונה על ידי
                              #28

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

                              אלא ש@yossiz בגאונות אופיינית

                              וואו, היה שוה ליכנס היום undefined
                              עוד כמה מחמאות כאלו ואני כבר יוצא לגימלאות לשארית חיי...

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

                              תגובה 1 תגובה אחרונה
                              5
                              • dovidD dovid

                                @חוקר זה בהחלט לא נורא, אבל תוכל להוסיך שורה שבודקת אם זה == 0, ככה:

                                if (nearestIndex === -1) return {'previous' : normalizedTimes[normalizedTimes.length - 1]};
                                if (normalizedTimes[nearestIndex] === givenTime) return {'this' : givenTime};
                                if (nearestIndex === 0) return {'next' : normalizedTimes[0]};
                                return {'next' : normalizedTimes[nearestIndex - 1], 'previous' : normalizedTimes[nearestIndex]};
                                
                                

                                השמטתי את הelse כי בכל מקרה הreturn עוצר את הפונקציה.

                                ח מנותק
                                ח מנותק
                                חוקר
                                כתב ב נערך לאחרונה על ידי
                                #29

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

                                return {'next' : normalizedTimes[nearestIndex - 1], 'previous' : normalizedTimes[nearestIndex]};
                                

                                אם אני צודק זה אמור להיות הפוך:

                                return {'previous' : normalizedTimes[nearestIndex - 1], 'next' : normalizedTimes[nearestIndex]};
                                

                                תקן אותי אם אני טועה

                                תגובה 1 תגובה אחרונה
                                1
                                תגובה
                                • תגובה כנושא
                                התחברו כדי לפרסם תגובה
                                • מהישן לחדש
                                • מהחדש לישן
                                • הכי הרבה הצבעות


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

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

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