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

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

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

פונקציית includes מחזירה לי שגיאה, פעם כן פעם לא.

מתוזמן נעוץ נעול הועבר תכנות
22 פוסטים 4 כותבים 275 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • י מנותק
    י מנותק
    יוסף בן שמעון
    השיב לאבי 203 ב נערך לאחרונה על ידי יוסף בן שמעון
    #2

    @אבי-203 אתה עובר בלולאה על כל האיברים של data2, ומניח שלכל איבר יש מפתח בשם mkt וממילא מפעיל עליו את המתודה includes, זה עובד טוב באיברים הראשונים בגלל שהם באמת מכילים את המפתח הזה, וכנראה אחד מהאיברים לא מכיל את המפתח ולכן זה מחזיר שגיאה.
    תפתח את ההדפסה של ה data2, ותבדוק בדיוק מה הוא מכיל

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

      צודק יש כמה שאין להם!
      אמחק אותם. ואראה. תודה רבההה.

      https://www.av-digital.co.il/

      י תגובה 1 תגובה אחרונה
      1
      • י מנותק
        י מנותק
        יוסף בן שמעון
        השיב לאבי 203 ב נערך לאחרונה על ידי
        #4

        @אבי-203 אתה יכול לבטח את עצמך כך

          const data9 =	 data2.filter(did => (did.mkt && did.mkt.includes($w('#mktinput').value)));
        
        אבי 203א תגובה 1 תגובה אחרונה
        2
        • אבי 203א מנותק
          אבי 203א מנותק
          אבי 203
          כתב ב נערך לאחרונה על ידי
          #5

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

          https://www.av-digital.co.il/

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

            @אבי-203
            א. האם יש לך סיבה דוקא להוריד את האחרים? אתה מקבל בין כך את הכל, תוכל לבחור להציג אח"כ רק את 10 הראשונים.
            ב. אם getTeamData מחזיר לך מערך (כמו שזה נראה) אז תוכל למחוק הכל חוץ מ-10 הראשונים על ידי פוקציית splice‏ (MDN).

            data2.splice(10);
            

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

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

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

              https://www.av-digital.co.il/

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

                @אבי-203 אמר בפונקציית includes מחזירה לי שגיאה, פעם כן פעם לא.:

                אני מבין שאופציית ב. זה אפשרות שנייה יש אפשרות נוספת להשאיר רק עשר.

                התכוונתי להעיר שני דברים, א' שלכאורה אין צורך להוריד את האחרים וב' אם אתה דוקא רוצה להוריד אז עושים את זה על ידי splice.

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

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

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

                  const muzarim0= data2.splice(10);
                  	$w('#repeater1').data = muzarim0;
                  

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

                  https://www.av-digital.co.il/

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

                    @יוסף-בן-שמעון עזר לי נהדר.

                    https://www.av-digital.co.il/

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

                      @אבי-203 הסברת טוב מאוד
                      הפונקציה splice מוריד מהמערך המקורי את הכל החל מהאינדקס שנתת לו כארגומנט, ומחזיר אותם במערך חדש. אז במקום:

                      $w('#repeater1').data = muzarim0;
                      

                      תעשה:

                      $w('#repeater1').data = data2;
                      

                      (יש עוד ארגומנטים לפונקציית splice מומלץ לעיין בתיעוד)

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

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

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

                        https://www.av-digital.co.il/

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

                          @אבי-203 אתה צריך לכאורה מימוש של CLONE.

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

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

                            @אבי-203 לפי בדיקה מהירה שלי אין דרך להגביל את התצוגה לכמות מסויימת ב-repeater של wix. אז צריך להעתיק למערך חדש כמו ש-@WWW אמר:

                            const muzarim0 = [...data2].splice(0, 10);
                            

                            הסבר:
                            [] יוצר מערך חדש
                            [1, 2, 3] יוצר מערך עם הערכים 1, 2, ו-3
                            [...data2] יוצר מערך חדש עם הערכים של המערך data2
                            splice(0, 10) מוחק 10 ערכים מאינדקס 0, ומחזיר אותם במערך חדש.

                            אפשר גם לעשות את הפעולה ב-2 שורות בלי ליצור מערך נוסף שלא לצורך:

                            const muzarim0 = [...data2];
                            muzarim0.splice(0, 10)
                            

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

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

                              @יוסף-בן-שמעון @yossiz @WWW תודה רבה.
                              הצלחתי להשיג את מה שאני צריך מתוך כל מה שכתבתם. תודה רבה.

                              https://www.av-digital.co.il/

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

                                @yossiz אמר בפונקציית includes מחזירה לי שגיאה, פעם כן פעם לא.:

                                const muzarim0 = [...data2]; muzarim0.splice(0, 10)

                                כבר כמה שעות על זה. איפה אני טועה??? תמיד בשלב השני, כלומר הוא טוען את ה9 השניים, נטען בסך הכל 18 ואז הוא עוצר. נסיתי הכל..

                                let sac;
                                 let  data3
                                // let data3;
                                
                                export async function box108_viewportEnter(event) {
                                $w('#html1').show()
                                console.log(sac);
                                data2 = data2.items
                                if (sac === undefined) {
                                sac=9	
                                 data3 = await getTeamData2()
                                
                                }
                                console.log(sac);
                                const count = data3.push();
                                
                                console.log(count);
                                let sicum=  count-sac
                                if (sicum < 0) {
                                	$w('#sof').show()
                                	$w('#html1').hide()
                                }else{	
                                let data5 = [...data3];
                                data5 = data5.splice(sac,9)
                                	 data2 = [...data2 ,...data5 ];
                                	console.log(data3);
                                	console.log(data5);
                                console.log(data2);
                                // concat
                                    $w("#repeater10").data =  data2
                                
                                sac = sac + 9
                                $w('#html1').hide()
                                }
                                	//Add your code for this event here: 
                                }
                                

                                https://www.av-digital.co.il/

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

                                  @אבי-203 מצטער אבל הקוד שהעלית לא מובן לי כל כך... 😞

                                  אתה יכול להסביר במילים מה אתה עושה שם?

                                  סתם הערה: אפשר לקבל את מספר האברים במערך על ידי מאפיין length -

                                  const count = data3.length
                                  

                                  במקום לקבל אותו כתוצאה צדדית של פעולת push

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

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

                                    @yossiz אמר בפונקציית includes מחזירה לי שגיאה, פעם כן פעם לא.:

                                    length

                                    תודה רבה. גם על ה length, לא ידעתי שהיא מחשבת גם את זה.
                                    הסבר:
                                    כחלק מנסיונותי להאיץ את טעינת הדף, בניתי שבטעינת הדף מקבל 9 פריטים ולאחר מכן השרת שולח את הכל ושומר במשתנה, ואז כשגוללים לסוף הפריטים, אני מביא עוד תשע פריטים נוספים ומחבר אותם לקייימים. זה עובד נהדר, רק שהוא עוצר בפעם השנייה כנראה שזה מביא לו שוב את אותם ה9.
                                    אני חישבתי את זה שבכל הפעלה של הפונקצייה אני מוסיף על משתנה sac +9 כך שכל פעם יתקדם ל9 הבאים, משהו בדרך אני טועה.
                                    ושוב תודה רבהה

                                     // עם טעינת הדף הראשונה
                                    let data2;
                                    let data3;
                                    $w.onReady(async function () {
                                    
                                    // מקבל תשע פריטים ראשונים
                                      data3 = await wixData.query("muzarim")
                                    		.descending("seder")
                                    		// .skip(10)
                                    		.limit(9)
                                    		.find();
                                    $w('#repeater10').data = data3.items;
                                    //פונקציית שיבוץ המידע ברפיטרים
                                     repiter()
                                    $w('#container').show()
                                    
                                    // מפעיל פונקציית דרך צד שרת שמביא לי את כל הפריטים ושומר במשתנה data2
                                     data2 = await getTeamData2()
                                    })
                                    
                                    // כאשר גוללים את הדף ומגיע לתחתית הפריטים ומתגלה אלמנט שנמצא בסוף, אני מנסה להוסיף בכל הפעלה של הפונקצייה הזו, עוד 9 פריטים הבאים, ולחבר אותם לקיימים. 
                                    let sac;
                                    export async function box108_viewportEnter(event) {
                                    $w('#html1').show()
                                    console.log(sac);
                                    data3 = data3.items
                                    if (sac === undefined) {
                                    sac = 9	
                                    }
                                    console.log(sac);
                                    const count = data2.length;
                                    console.log(count);
                                    let sicum=  count-sac
                                    if (sicum < 0) {
                                    	$w('#sof').show()
                                    	$w('#html1').hide()
                                    }else{	
                                    let data5 = [...data2];
                                    let data8 = data5.splice(sac,9)
                                    	 data3 = [...data3 ,...data8 ];
                                    	console.log(data3);
                                    	console.log(data5);
                                    console.log(data2);
                                    console.log(data8);
                                        $w("#repeater10").data =  data3
                                    sac = sac + 9
                                    $w('#html1').hide()
                                    }
                                    }
                                    
                                    

                                    https://www.av-digital.co.il/

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

                                      @אבי-203 השורה הזאת נראה לי חשוד:

                                      data3 = data3.items
                                      

                                      אתה מריץ את זה בתוך box108_viewportEnter שזה אומר בכל פעם שגוללים לסוף הדף.

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

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

                                        @yossiz ואווו איזה מבריק!!!! תודדדה
                                        צדקת אני עכשיו גם מבין למה זה בעייתי.
                                        כי בעצם בפעם הראשונה הוא מפרק את זה ל data3.items
                                        אח"כ בפעם השנייה כבר זה מפורק והוא מנסה לשוא לפרק את זה שוב.
                                        אז העברתי את זה לטעינה הראשונה. תודדדה

                                        איבדתי את הריכוז בכולל היום, בגלל הדבר הזה... 🙂

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

                                        https://www.av-digital.co.il/

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

                                          @אבי-203 אמר בפונקציית includes מחזירה לי שגיאה, פעם כן פעם לא.:

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

                                          על זה אני לא יודע לענות כי אין לי נסיון בדברים כאלו.

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

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

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

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

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