پارامتر دوم تابع splice

پرسیده شده
فعالیت 1625 روز پیش
دیده شده 1087 بار
0

با سلام

استاد لطفا در مورد پارامتر دوم تابع اسپلایس بیشتر توضیح بدین

فایل پیوست

zahra khazaei
zahra khazaei

22 آبان 98

1
حذف شده

موارد استفاده از تابع splice در جاوااسکریپت :

  • حذف عناصر با استفاده از موقعیتشان در آرایه
  • اضافه کردن عناصر بعد از یک موقعیت در آرایه
  • حذف و اضافه در یک مرحله   

(array.splice(index, howmany, item1, ....., itemX)

اولی که ایندکس که ما میخواییم اضافه کنیم به آرایه 

پارامتر دوم تعداد عناصری که می خواهیم حذف شوند را مشخص می کند.  

و سومی هم مقادیر هستند که به ارایه اضافه شوند

برای ارتباط بیشتر می تونید به تلگرامم پیام بدید  تعامل بیشتر داشته باشیم تو حل مسائل داشته باشیم

id : amirsa_it

فایل پیوست

AMIR

توسط

AMIR

22 آبان 98

1
حذف شده

سلام. من یه توضیحی میدم بعد نیاز بود استاد بیان کاملش کنن.

خب وقتی بخواین ایتمی رو به آرایه اضافه کنید، از splice استفاده میکنید.
متد پارامتر اول شروع پیوند رو از برنامه نویس میگیره. خونه های آرایه از صفر شماره گذاری میشه یعنی اگر بخواید آیتم از خونه ی اول بچسبه باید مقدار start رو برابر 0 بگذارید و خونه دوم میشه 1 و ... n - 1

پارامتر دوم از میگه اگر میخواید خونه ای یا همون آیتمی از آرایه حذف بشه، چنتا خونه باشه. عمل حذف از خونه ای شروع میشه که شما در start اورده اید. و پارامتر های بعدی هم که مشخصه آیتم هایی که میخواید به آرایه اضافه شه.
ساختار کلی به شکل زیر هست:
 

array.splice(index, howmany, item1, ....., itemX)

مثال:

var fruits = ["Banana", "Orange", "Apple", "Mango"];

آرایه بالا رو میخوام بهش دوتا آیتم "Lemon", "Kiwi" رو اضافه کنم. میخوام از خونه ی apple شروع بشه. یعنی start = 2
و نمیخوام هیچ آیتمی حذف بشه از آرایه و فقط این دو آیتم جدید از ایندکس 2 به بعد آرایه اضافه بشه. پس پارامتر دوم howmany = 0

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 0, "Lemon", "Kiwi");

آیتم های آرایه به شکل زیر میشه:
 

Banana,Orange,Lemon,Kiwi,Apple,Mango

اما حالا میخوام بگم از ایندکس 2 شروع بشه و یک خونه هم حذف بشه:
 

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 1, "Lemon", "Kiwi");

آیتم های آرایه این شکلی میشن:
 

Banana,Orange,Lemon,Kiwi,Mango

حالا میخوام بگم فقط 2 خونه از آرایه حذف بشه و مثلا این سری از ایندکس 1 شروع بشه: (این دفعه به آرایه چیزی نمیخوام اضافه کنم)

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(1, 2);

ایتم ها به این شکل در میاد:

Banana,Mango

 

فایل پیوست

محسن موحد

توسط

محسن موحد

22 آبان 98

0
حذف شده

سلام syntax این متد به صورت

arr.splice(index[, deleteCount, elem1, ..., elemN])

است. این متد چندین کاربرد دارد هم برای جایگزین کردن و هم برای درج کردن مقدار استفاده  میشه و بسیار انعطاف پذیره.

پارامتر اول اندیس خانه شروع را مشخص میکند.

پارامتر دوم میگه که ازین اندیس ای که الان هستیم چه تعداد کارکتر حذف بکنم.(اگر مقدار این پارامتر صفر قرار بگیره این متد هیچ کاراکتری را حذف نمیکند و مقدار value در این اندیس وارد شده درج خواهد شد)

پارامتر سوم مقداری که قراره جایگزین یا درج بکنیم قرار میگیرد و اگر پارامتر سوم وارد نشود این متد فقط حذف انجام میدهد.

("raza"    <=  "reza".splice(1,1,"a"

("reztesta"    <=  "reza".splice(2,0,"test"

(rza"    <=  "reza".splice(1,1"

فایل پیوست

رضا پروین

توسط

رضا پروین

22 آبان 98

حذف شده
این متد مربوط به آرایه ها میشه ولی شما اشتباها روی رشته ها استفاده کردید.
محسن موحد

22 آبان 98

حذف شده
بله متاسفانه اصلا حواسم نبود!
رضا پروین

22 آبان 98

1
حذف شده

خیلی عالی و کامل ذوستان اشاره کردن 
فقط نکته ای که بهش اشاره نکردن این متد فقط سه ورودی نمیگیره میتونه هر چند تایی که میخوایم باشه ولی باید این نکته رو بهش توجه کنیم که دو ورودی اول باید از نوع number باشند و توضیحات لازم رو دوستان دادند ولی از ورودی سوم به بعد هر مقداری که ما میخوایم تا بهش اضافه کنیم هستش برای مثال 

var myArray = [1, 2, 3, 4, 5, 6];
    myArray.splice(0, 0, "ali", "hassan", "mostafa");
    console.log(myArray); //output:["ali", "hassan", "mostafa", 1, 2, 3, 4, 5, 6]

 

فایل پیوست

mostafa hedayat

توسط

mostafa hedayat

22 آبان 98

حذف شده
تو function ها اگه arg کمتر یا بیشتر از نیاز بدیم خطا نمیگیره و فقدان مقدار -> arg= undefined و اضافات رو نادیده میگیره مگر با استفاده از ارایه arguments که با پارامتر ها بصورت یک array رفتار میکنه
amir yaghoobzadeh

23 آبان 98

حذف شده
دقیقا
mostafa hedayat

23 آبان 98

0
حذف شده

دوستانی که با این تابع مشکل دارن این منبع می تونه کمک زیادی به شما بکنه 

 

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice

فایل پیوست

AMIR

توسط

AMIR

9 آذر 98