يا شباب عندي مصفوفة فيها بيانات (زي قائمة أسماء أو منتجات) أخذت منها نسخة في متغيّر جديد عشان أعدل عليها براحتي من غير ما ألمس البيانات الأصلية.
المشكلة اللي مقابلاني:
أول ما بغير أي قيمة جوه المصفوفة الجديدة، بلاقي المصفوفة الأصلية اتعدلت هي كمان بنفس الشكل!
أنا جربت أعمل كده: const newArr = oldArr;
ولما لقيت المشكلة دي بتحصل جربت أعمل Spread Operator كدة: const newArr = [...oldArr]; بس برضه لو المصفوفة فيها Objects جواها، التعديل بيسمّع في الاتنين!
هو ليه جافاسكريبت بتعدل في المصفوفة الأصلية مع إنها نُسخة جديدة؟ وإزاي أعمل نسخة مستقلة تماماً (Deep Copy)؟
التعليقات (1)
سجّل دخولك لإضافة تعليق
تسجيل الدخول