ادغام دو آرایه زمانی که هر دو موجود باشند و یا زمان تعریف آرایه دوم، یک کار رایج است. علاوه بر این، اگر دقت نکنید، ممکن است با ادغام کردن، به نتیجه مورد انتظارتان نرسید.
به این دو آرایه توجه کنید: [1,2,3] و [4,5,6] که میخواهیم این دو را با هم ادغام کرده و به این نتیجه برسیم: [1,2,3,4,5,6]. اولین راه شما احتمالاً استفاده از علامت + و یا روش «.push » میباشد، اما هیچیک از این دو روش، نتیجه مناسبی ارائه نمیدهند.
در اولین مثال، عملگر +، هر مورد را بهعنوان یک رشته درنظر میگیرد. درنتیجه آخرین آیتم در a و اولین آیتم در b باهم تلفیق میشوند و 34 را نشان میدهند.
در مثال دوم، b را بهصورت یک مقدار تک درنظر میگیرد و به قسمت انتهای a به همان شکل اضافه میکند و بهصورت آرایه تودرتو نشان داده میشوند.
برای ایجاد آرایهای که ما به دنبال آن هستیم، میتوان از روش.concat() یا عملگر «...» استفاده کرد.
روش.concat()
این یک تکنیک قدیمی جداسازی برای ادغام آرایههاست. این روش از آرایه والد استفاده میکند (همان آرایهای که ابتدا به آن اشاره میشود) و پس از آن هرتعداد آرایه را میپذیرد.
عملگر ...
اکمااسکریپت6 از آن پشتیبانی میکند، عملگر «…» هنگام استفاده از یک آرایه، آیتمها را باز میکند. تصور من این است که با باز کردن چندین جعبه یک دنباله واحد از دومینوها ایجاد میشود.
من از کدام روش باید استفاده کنم؟
این سؤال جالبی است. بعضیها براساس وضعیت آرایهها بین روشها تمایز قائل میشوند، بعضی دیگر به این نکته اشاره میکنند که ممکن است تفاوتهایی هنگام ادغام کردن چندین روش باهم ایجاد شوند.
من بهصورت پیشفرض از «...» و تنها درصورت لزوم از.concat() استفاده میکنم. عملگر «...» منعطفتر است بهویژه زمانی که تغییراتی اعمال میشوند.
در این آموزشنامه، از یک مثال استفاده کردیم، ببینیم که چه اتفاقی میافتد اگر بخواهیم آرایه [0,0,0] را به قسمت جلویی دنباله اضافه کنیم؟ اصلاح کد با عملگر «...» بسیار آسانتر است.
با استفاده از .concat() ، عبارت قبلی را با یک حرف آرایه باز میکنیم و دو آرگومان جاگذاری میشوند و آنها را یکی پس از دیگری قرار میدهیم.
بااستفاده عملگر «...» ، تغییرات به حداقل میرسد، المانها قبل از باز کردن a و b اضافه میشوند.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید