الطريقة الأولى هي التسلس المعروف ، ولكن هناك اليقين من هذه الطريقة بأن هذه الطريقة لن تغير المصفوفة الحالية ، ولكنها ستُرجع فقط نسخة من الصفيف المتصل.
إذا كنا نريد فقط إضافة عناصر من صفيف جديد إلى صفيف موجود ، فنحن بحاجة أيضًا إلى إعادة تعيينه ، والذي يضيع في الواقع القليل من الموارد. ببساطة ، نحتاج إلى تخصيص مساحة ذاكرة جديدة للمصفوفة التي تم إنشاؤها حديثًا إلى عنوان الذاكرة الجديد مرة أخرى.
كما هو موضح في المثال التالي:
نسخة الكود كما يلي:
var arr1 = [1،2،3] ؛
var arr1 = arr1.concat ([4،5]) ؛
هل هناك أي طرق جيدة لنا لتجنب استهلاك الموارد هذا؟
هنا يمكنك استخدام طريقة تطبيق JavaScript الأصلية لتنفيذها أولاً.
نسخة الكود كما يلي:
var arr1 = [1،2،3] ؛
arr1.push.apply (arr1 ، [4،5]) ؛
يتم ذلك. صفيف.
نسخة الكود كما يلي:
arr1.push (4،5) ؛
وبهذه الطريقة ، لا يزال ARR1 هو نفسه ARR1 ، ولكن تمت إعادة كتابة الذاكرة ، دون إعادة توجيه أو تجاوز الذاكرة غير الضرورية.