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

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

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

js, פונקציה להעתקת אוביייקט כחדש

מתוזמן נעוץ נעול הועבר תכנות
5 פוסטים 5 כותבים 177 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • chagoldC מנותק
    chagoldC מנותק
    chagold
    כתב ב נערך לאחרונה על ידי
    #1

    במערך יש את הפונקציה arr.slice(0) שנותנת את המערך כחדש (ושינויים בחדש לא משתקפים במערך המקורי).
    יש משהו תואם עבור העתקת אובייקט?
    תודה.

    yossizY מנצפךמ 2 תגובות תגובה אחרונה
    0
    • yossizY מנותק
      yossizY מנותק
      yossiz
      השיב לchagold ב נערך לאחרונה על ידי
      #2

      @chagold
      ב-JS מודרני נהוג לעשות את זה ככה:

      newObj = {...oldObj}
      

      זה עובד במקרים פשוטים. קיימות כמה כוכביות*** ואזהרות בנוגע לזה. יש עוד דרכים. במקרים לא פשוטים הייתי הולך על lodash.cloneDeep

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

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

        @chagold
        גם לעשות stringify ואחכ parse. לא להאמין אבל עושים את זה...

        S תגובה 1 תגובה אחרונה
        3
        • S מנותק
          S מנותק
          Shaya
          השיב למנצפך ב נערך לאחרונה על ידי
          #4

          @מנצפך חשוב לציין שיש בעיה גדולה בגישה הזאת:
          זה יכול לגרום לאיבוד מידע כי JSON מתעלמת לחלוטין מערכים מסויימים (בין השאר: מערכי function ו-undefined ועוד), הם פשוט לא יופיעו בהעתק...

          ראה את הפוסט הזה.

          [לכן כנראה לעולם לא מומלץ להשתמש עם זה כי לך תדע איך ייראה האובייקט בעתיד].

          לא להאמין אבל עושים את זה...

          אולי לזה התכוונת?

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

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

            const obj = {
                id:1,
                innerData: {
                    id:1
                }
            }
            

            innerData ישאר מצביע לאובייקט המקורי

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

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

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

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