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

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

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

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

מתוזמן נעוץ נעול הועבר תכנות
2 פוסטים 2 כותבים 460 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • 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
    • chvC מנותק
      chvC מנותק
      chv
      השיב לyyy ב נערך לאחרונה על ידי
      #2

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

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

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

      בלוג | מייל

      תגובה 1 תגובה אחרונה
      9
      • dovidD dovid העביר נושא זה מ-תכנות ב-

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

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

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