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

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

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

הוספת אובייקט למערך אובייקטים ב-JS

מתוזמן נעוץ נעול הועבר תכנות
2 פוסטים 2 כותבים 462 צפיות 2 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • yyyY מנותק
    yyyY מנותק
    yyy
    כתב ב נערך לאחרונה על ידי
    #1

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

    <script>
          arr = [{
              "num": "1"
          }, {
              "num": "2"
          }];
          obj = '{  "num": "3"  }'
          arr.push(obj);
    
          function printArr() {
    
              for (i = 0; i < arr.length; i++) {
                  console.info("num = " + arr[i].num)
              }
          }
    
          printArr();
      </script>
    

    במקרה זה האובייקט שמנסים להוסיף נכנס כ-STRING ולא כאובייקט.

    דרך ב:

    <script>
           arr = [{
               "num": "1"
           }, {
               "num": "2"
           }];
           obj = arr[0];
           obj.num = 3;
           arr.push(obj);
    
           function printArr() {
    
               for (i = 0; i < arr.length; i++) {
                   console.info("num = " + arr[i].num)
               }
           }
    
           printArr();
       </script>
    

    במקרה זה האובייקט שנוסף הוא רק הפנייה לאובייקט שממנו נוצר.
    אז איך עושים את זה "נכון"?

    chvC תגובה 1 תגובה אחרונה
    1
    • yyyY yyy

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

      <script>
            arr = [{
                "num": "1"
            }, {
                "num": "2"
            }];
            obj = '{  "num": "3"  }'
            arr.push(obj);
      
            function printArr() {
      
                for (i = 0; i < arr.length; i++) {
                    console.info("num = " + arr[i].num)
                }
            }
      
            printArr();
        </script>
      

      במקרה זה האובייקט שמנסים להוסיף נכנס כ-STRING ולא כאובייקט.

      דרך ב:

      <script>
             arr = [{
                 "num": "1"
             }, {
                 "num": "2"
             }];
             obj = arr[0];
             obj.num = 3;
             arr.push(obj);
      
             function printArr() {
      
                 for (i = 0; i < arr.length; i++) {
                     console.info("num = " + arr[i].num)
                 }
             }
      
             printArr();
         </script>
      

      במקרה זה האובייקט שנוסף הוא רק הפנייה לאובייקט שממנו נוצר.
      אז איך עושים את זה "נכון"?

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

      @yyy הדוגמא הראשונה היא הנכונה, רק שאת האובייקט שניסת ליצור (שורה 7, obj) לא יצרת כמערך אובייקט אלא כסטרינג, כי עטפת אותו בגרשים.
      תמחק את הגרשים

            arr = [{
                "num": "1"
            }, {
                "num": "2"
            }];
            obj = {  "num": "3"  }
            arr.push(obj);
      

      ואגב שמות של אובייקטים (וגם המספרים, אם הם נועדו להיות מספרים ולא סטרינגים) לא צריכים להיות עם גרשיים, אפשר לכתוב פשוט obj = { num: 3 }

      בלוג | מייל

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


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

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

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