تبلیغات

روش های حذف آیتم یک آرایه در جاوا اسکریپت

ممکن است شرایطی پیش بیاید که بخواهیم یکی از آیتم‌های داخل یک آرایه را حذف کنیم. مثلا لیستی از اعداد داریم که هربار یکی از آنها به‌طور تصادفی انتخاب می‌شود و نمی‌خواهیم در دفعات بعدی، مورد تکراری انتخاب شود؛ لذا بایستی آیتم مورد نظر از آرایه حذف شود. برای حذف ایندکس دلخواه از یک آرایه، روش‌های مختلفی وجود دارند که در این مطلب به آنها می‌پردازیم.

روش اول: متد pop

کد زیر را در نظر بگیرید:

اگر به داخل متد pop، مقداری ارسال نشود، آخرین آیتم آرایه حذف خواهد شد و اگر مقداری ارسال شود، آن مقدار ایندکس یکی از آیتم‌ها است که باعث جذف آن از آرایه می‌شود. نکته قابل توجه این است که متد pop  علاوه بر حذف ایندکس، مقدار آن را نیز برمی‌گرداند و در واقع از این متد برای برداشتن و بیرون کشیدن کامل یک ایندکس استفاده می‌شود تا دیگر در آرایه وجود نداشته باشد.

روش دوم: حذف آیتم از انتها

کد زیر را در نظر بگیرید:

یک آرایه به‌طور 6 در اختیار داریم. اگر طول آن را به‌طور دستی به مقدار 4 تغییر دهیم، دو آیتم انتهایی حذف خواهند شد.

روش سوم: حذف آیتم از ابتدا

کد زیر را در نظر بگیرید:

متد شیفت باعث حذف آیتم از ابتدای یک آرایه می‌شود.

روش چهارم: استفاده از Splice

کد زیر را در نظر بگیرید:

به کمک متد splice می‌توان بخش مورد نظری از یک آرایه را برید! در کد بالا، دو آیتم از ایندکس 2 به بعد بریده شده است. ورودی اول این متد، نقطه‌ی شروع بوده و ورودی دوم آن نیز تعداد آیتم‌ها از آن نقطه به بعد می‌باشد. بدین ترتیب، آیتم‌های 3 و 4 از آرایه حذف خواهند شد.

به مثال دیگری توجه کنید:

در اینجا نیز دو آیتم از ایندکس 0 (اول) به بعد حذف می‌شوند.

روش پنجم: استفاده از Slice برای آیتم مشخص

کد زیر را در نظر بگیرید:

در این کد هدف آن است که مقداری خاص از داخل آرایه حذف شود! مثلا هدف، حذف تمامی مقادیر 5 است. بنابراین یک حلقه نوشته و سپس آیتم مورد نظر را بررسی می‌کنیم و اگر برابر مقدار مورد نظر بود، از آن ایندکس یک واحد به جلوتر حذف می‌شود (که در واقع فقط خود همان ایندکس حذف می‌شود)

اما اجازه دهید! این کد یک مشکل بزرگی دارد! اگر دو آیتم 5 در داخل آرایه بود چه؟!
در آن صورت با حذف یکی از ایندکس‌ها، جایگاه ایندکس‌ها به تداخل می‌خورد! با روش زیر می‌توان مشکل را به‌سادگی حل کرد:

همانطور که می‌بینید، هربار که آیتم پیدا شد، شمارنده را یک واحد کم می‌کنیم؛ تا مشکلی پیش نیاید! به همین سادگی!

روش ششم: استفاده از filter

به کد زیر دقت کنید:

در اینجا به کمک متد filter و با ارسال یک کال‌بک (تابع) به داخل آن جهت فیلتر کردن آرایه، تعیین کردیم که اگر مقدار بزرگتر از 5 بود، true برگردانده شود؛ و در این صورت، آن مقدار یکی از مقادیر آرایه‌ی جدید خواهد شد. بنابراین مقادیر 6 تا 9 فیلتر می‌شوند.

روش هفتم: دستور delete

به کد زیر دقت کنید:

از اپراتور delete نیز می‌توان برای حذف مقدار داخل یک آرایه استفاده کرد؛ اما توجه داشته باشید که این اپراتور، برروی طول آرایه تاثیری نخواهد داشت و در واقع، مقدار مورد نظر پس از حذف شدن، به undefined تغییر خواهد یافت.


روش‌های متعدد دیگری نیز وجود دارند که در اینجا به مهم‌ترین موارد اشاره شد.

کانال تلگرام فول کده
تبلیغات

درباره نویسنده

هادی اکبرزاده

[ مدیر فول کده ]

علاقه‌مند به اشتراک‌گذاری اطلاعات در هر زمینه‌ای
برنامه‌نویس فول استک

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نظرات ثبت شده بدون دیدگاه