چگونه می‌توان دو آرایه را در جاوااسکریپت باهم ادغام کرد؟
ﺯﻣﺎﻥ ﻣﻄﺎﻟﻌﻪ: 2 دقیقه

چگونه می‌توان دو آرایه را در جاوااسکریپت باهم ادغام کرد؟

ادغام دو آرایه زمانی که هر دو موجود باشند و یا زمان تعریف آرایه دوم، یک کار رایج است. علاوه بر این، اگر دقت نکنید، ممکن است با ادغام کردن، به نتیجه مورد انتظارتان نرسید.

به این دو آرایه توجه کنید: [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 اضافه می‌شوند.

منبع

چه امتیازی برای این مقاله میدهید؟

خیلی بد
بد
متوسط
خوب
عالی
در انتظار ثبت رای

/@alireza.mzh
علیرضا معمارزاده
junior level developer

Student of Software Engineering, python Developer, i love programming and game

دیدگاه و پرسش

برای ارسال دیدگاه لازم است وارد شده یا ثبت‌نام کنید ورود یا ثبت‌نام

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید