کاربرد تابع splice در جاوااسکریپت چیست؟
نام تابع splice به خوبی بیانگر کاربرد آن نیست. splice در انگلیسی به معنی: به هم متصل کردن یا گره زدن می باشد. فرض کنید میخواهید انتهای یک بند را ببرید و با یک بند دیگر گره بزنید.
به هر حال تابع splice در جاوااسکریپت برای کار بر روی آرایه ها استفاده می شود. به مثال زیر توجه کنید.
var myArray = ['this', 'is', 'an', 'array']; myArray.splice(0, 2); // ['this', 'is'] console.log(myArray); // ['an', 'array']
در مثال بالا ما به وسیله پارامترها برای تابع splice مشخص کرده ایم که تعداد ۲ عنصر از موقعیت صفر به بعد را از آرایه اصلی حذف کند و به عنوان خروجی باز گرداند.
نکات مربوط به استفاده از تابع splice در جاوااسکریپت:
- موضوع بسیار مهمی که باید به آن توجه کنید این است که آرایه myArray بعد از استفاده از splice تغییر می کند. بنابراین اگر به آرایه اصلی نیاز دارید باید از آن پشتیبان تهیه کنید.
- موضوع دیگر این است که splice عناصری که از آرایه اصلی حذف می شوند را به عنوان خروجی بر می گرداند.
- پارامتر اول اجباری است و موقعیت حذف یا اضافه کردن عناصر جدید در آرایه را مشخص می کند. برای مشخص کردن موقعیت از آخر آرایه، می توانیم از مقادیر منفی استفاده کنیم.
- پارامتر دوم تعداد عناصری که می خواهیم حذف شوند را مشخص می کند.
به مثال زیر توجه کنید.
var countingArray = [5, 6, 7, 8]; countingArray.splice(1, 1); // [6] console.log(countingArray); // [5, 7, 8]
در مثال بالا به تابع splice گفته ایم که ۱ آیتم را از موقعیت ۱ آرایه اصلی حذف کند و به عنوان خروجی باز گرداند.
نکته:
در جاوااسکریپت تابعی به شکل delete(index)
وجود ندارد و delete array[index]
نیز آیتم موجود در اندیس index
را با undefined
جایگزین می کند. مثال بالا نحوه حذف یک آیتم از آرایه را توسط تابع splice در جاوااسکریپت ، نمایش می دهد.
در مثال زیر splice را با پارامتر سوم استفاده کرده ایم.
var myArray = ['this', 'is', 'an', 'array']; myArray.splice(3, 0, 'awesome'); // [] console.log(myArray); // ['this', 'is', 'an', 'awesome', 'array']
امیدوارم متوجه شده باشید چه اتفاقی افتاده است. در این مثال با استفاده از پارامتر سوم مشخص کرده ایم که مقدار این پارامتر ('awesome'
) بعد از موقعیت ۳ در آرایه اضافه شود. توجه کنید که اگر مقدار صفر را به عنوان پارامتر دوم استفاده کنیم، هیچ عنصری از آرایه حذف نمی شود.
مثال:
var myArray = ['this', 'is', 'an', 'array']; myArray.splice(3, 0, 'amazingly', 'awesome'); console.log(myArray); // ['this', 'is', 'an', 'amazingly', 'awesome', 'array']
در این مثال به تابع splice
گفته ایم: «از موقعیت ۳ صفر عنصر را حذف کن و سپس بعد از موقعیت ۳ عناصر 'amazing'
و 'awesome'
را به آرایه اضافه کن ». از پارامتر سوم به بعد به هر تعداد که بخواهیم عنصر به آرایه اضافه کنیم می توانیم، ادامه دهیم.
در مثال آخر نحوه جایگزین کردن یک عنصر به جای عنصری دیگر را می بینید:
var myArray = ['this', 'is', 'an', 'array']; myArray.splice(2, 1, 'the'); // ['an'] console.log(myArray); // ['this', 'is', 'the', 'array']
در این مثال گفته ایم: «از موقعیت ۲ یک عنصر را حذف کن و رشته 'the'
را به جای آن بعد از موقعیت ۲ جایگزین کن».
موارد استفاده از تابع splice در جاوااسکریپت :
- حذف عناصر با استفاده از موقعیتشان در آرایه
- اضافه کردن عناصر بعد از یک موقعیت در آرایه
- حذف و اضافه در یک مرحله
منابع:
دیدگاه بگذارید