برنامه نویسی 57 بازدید

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

آرایه‌ها از اندیس 0 آغاز می‌شوند و برای هر مقدار 1 واحد افزایش می‌یابند. برای اشاره به یک مقدار در آرایه باید از اندیس مناسبی درون براکت ([]) استفاده کنیم.

برای حذف مقداری از آرایه چهار روش وجود دارد که هر کدام کاربرد خاص خود را دارند. این روش‌ها را در ادامه توضیح می‌دهیم. توجه کنید که هر چهار روش مورد بررسی به صورت بومی با استفاده از جاوا اسکریپت قابل اجرا هستند و نیازی به ایمپورت کردن هیچ کتابخانه اضافی وجود ندارد.

کلیدواژه Delete

ساده‌ترین روش برای حذف مقداری از آرایه استفاده از کلیدواژه Delete است. در این حالت کافی است از نام متغیر همراه با اندیسی که می‌خواهید پاک شود استفاده کنید:

با این حال در زمان استفاده از این روش باید مراقب باشید، زیرا گرچه این متد ساده به نظر می‌رسد، اما در اغلب موارد موجب بروز سردرگمی می‌شود، زیرا آرایه در نهایت با یک حفره مواجه می‌شود. مواردی که تکنیک Delete به کار نمی‌آید، زمانی است که پس از حذف یک مقدار از آرایه نیاز به اندیس‌گذاری مجدد آن وجود دارد.

متد ()pop.

اگر می‌خواهید مقدار دارای بزرگ‌ترین اندیس را از آرایه حذف کنید و نمی‌خواهید مجبور به اندیس‌گذاری مجدد آرایه شوید تا در انتهای آرایه اندیس تعریف‌نشده پاک شود، می‌توانید از متد ()pop بهره بگیرید:

متد ()splice.

اگر می‌خواهید به جای حذف یک اندیس خاص، مقدار به خصوصی را از آرایه حذف کنید، می‌توانید از این متد کمک بگیرید. در این حالت اگر مشکلی با اندیس‌گذاری مجدد آرایه ندارید می‌توانید با خیال راحت از متد ()splice. استفاده کنید.

در زمان استفاده از این متد یک آرایه جدید ایجاد می‌شود که تعدادی از مقادیر را حذف می‌کند. به صورت پیش‌فرض حذف از اندیس خاص تعیین‌شده آغاز شده و همه موارد سمت راست آن را شامل می‌شود.

اگر تنها می‌خواهید یک مقدار را حذف کنید، از پارامتر اختیاری دوم در متد ()splice. استفاده کنید:

توجه کنید که ما نتیجه splice را سریعاً پرینت نمی‌کنیم. چون در این صورت مقادیر حذف‌شده از سوی متد نیز بازگشت می‌یابند.

این روشی عالی است، اما در دنیای واقعی امکان هاردکد کردن مقدار اندیس وجود ندارد. بنابراین از متد ()indexOf. برای یافتن اندیس یک مقدار بر اساس شرط خاص استفاده می‌کنیم.

شرط if در مثال کد فوق برای تأیید این که مقدار مورد نظر را در آرایه یافته‌ایم مورد استفاده قرار می‌گیرد. متد ()indexOf در مواردی که مقدار را نیابد، مقدار 1- بازگشت می‌دهد. از این رو اگر i بزرگ‌تر یا مساوی 0 باشد، مقدار مورد نظر در آرایه پیدا شده است.

متد ()filter.

با این که متد ()splice. برای یافتن و حذف یک مقدار منفرد کارآمد است، اما برخی اوقات می‌خواهیم همه موارد رخداد یک مقدار (یا شرط) را از آرایه پاک کنیم. در چنین حالت‌هایی می‌توانیم از متد ()filter. بهره بگیریم.

این متد یک تابع به عنوان آرگومان می‌گیرد و مقادیری را نگه می‌دارد که در تابع فیلتر به صورت true ارزیابی می‌شوند. برای فیلتر کردن یک مقدار خاص باید حالت منفی را نیز بررسی کنیم:

توجه کنید که ما باید اعداد را به خودشان مجدداً انتساب دهیم. دلیل آن این است که برخلاف متد ()splice، متد ()filter به جای اجرای یک اکشن روی داده‌های اصلی، یک آرایه جدید بازگشت می‌دهد.

سخن پایانی

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

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

telegram
twitter

میثم لطفی

«میثم لطفی» دانش‌آموخته ریاضیات و شیفته فناوری به خصوص در حوزه رایانه است. وی در حال حاضر علاوه بر پیگیری همه علاقه‌مندی‌های خود در رشته‌های برنامه‌نویسی، کپی‌رایتینگ و تولید محتوای چندرسانه‌ای، در زمینه نگارش مقالاتی با محوریت نرم‌افزار نیز با مجله فرادرس همکاری دارد.

آیا این مطلب برای شما مفید بود؟

نظر شما چیست؟

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