
وفي معظم الحالات نستخدم صفائف عندما نعمل مع جافا سكريبت أو مع أي لغة أخرى, وبما أننا نسمح أفضل التلاعب والتجميع لبعض مجموعات البيانات خصائص مماثلة.
من بين كل ما يمكن عمليات أنه يمكن القيام به صفيف, واحدة من أكثر المشتركة هو من حذف o إفراغ, الذي سيجعل الصفيف سوف نقوم بتحويل في صفيف فارغ.
كيفية إفراغ أو حذف صفيف في جافا سكريبت وآثارها
للقيام إفراغ أو المحذوفة من الصفيف يمكننا استخدام تطبيقات اثنين o الحلول, الذي سنرى أدناه. لنفترض أن ولدينا في متغير الصفيف MyArray مع المحتوى التالي:
1 | var miArray = [1, 2, 3, 4, 5]; |
ونحن يمكن أن تؤدي إفراغ من صفيف باستخدام التعيين من صفيف فارغ إلى المتغير في السؤال:
1 | miArray = []; |
لذلك المتغير MyArray سيتم الآن الإشارة إلى صفيف فارغ. أي, أنها ليست السابقة صفيف فارغ, ولكن أن المتغير هو الإشارة إلى أحد وظيفة ذاكرة جديدة. لفهم هذا, لنفترض أن المتغيرات التالية:
1 2 3 | var miArray = [1, 2, 3, 4, 5]; var miOtroArray = miArray; |
إذا الآن, نقوم بتنفيذ حذف المصفوفة الأولى كما شهدنا سابقا:
1 2 3 4 5 | miArray = []; //Los valores de las variables anteriores son: //miArray = []; //miOtroArray = [1, 2, 3, 4 ,5]; |
المتغير ميوترواراي سوف تستمر في الإشارة إلى موقع الذاكرة الذي يستضيف الصفيف وكان تم تعيينها مسبقاً المتغير MyArray, لأنه مع هذا الحل, الشيء الوحيد الذي يمكننا القيام به تعيين لمتغير صفيف فارغ جديد في موقع آخر في الذاكرة.
من أجل تجنب هذا, آخر استنزاف الأسلوب o حذف من الصفيف في جافا سكريبت يتم من خلال الملكية طول, أحب هذا, نحن أفرغت لدينا المصفوفة الأولى بالطريقة التالية:
1 2 3 4 5 | miArray.length = 0; //No reasignamos a un nuevo valor, sino que reducimos la longitud del actual. //Los valores de las variables anteriores son: //miArray = []; //miOtroArray = []; |
وبهذه الطريقة, ونحن نقوم بذلك طول من نحن الصفيف الحالي هو صفر, فأنت إفراغ, ويتبع المتغير الإشارة إلى نفس الصفيف, وبالتالي فإن المتغيرات المحتملة أو مؤشرات أخرى, وأشار إلى نفس, سيكون لها نفس القيمة وهذا. لذلك نحن علينا أن نتجنب أي مشكلة مع المتغيرات والمؤشرات فإنه قد يؤدي إعادة تعيين إلى صفيف جديد كما هو الحال في الحالة الأولى.
بالإضافة, هذا الحل الأخير, الحل أفضل وفيما يتعلق الأداء منذ حقاً يحرر الذاكرة تم تعيينها إلى الصفيف. إذا أننا نستخدم الحل الأول, بالإضافة إلى تخصيص الذاكرة لصفيف جديدة فارغة, ونحن لا تحرير الذاكرة المخصصة إلى الصفيف السابق, في حالة أن أي متغير أو المؤشر يشير إلى أنه.
