shift()
و pop()
، ولكن ماذا لو أردنا إزالة عنصر من مكان ما في المنتصف؟ أو إزالة أكثر من عنصر واحد في وقت واحد؟ حسنا ، هذا هو المكان الذي تأتي فيه splice()
. يسمح لنا splice()
بالقيام بذلك: إزالة أي عدد من العناصر المتتالية من أي مكان في صفيف. يمكن أن تأخذ splice()
3 معلمات ، ولكن في الوقت الحالي ، سنركز على أول 2 فقط. splice()
من splice()
هي أعداد صحيحة تمثل الفهارس ، أو المواضع ، للصفيف الذي يكون splice()
دعا. وتذكر أن المصفوفات صفرية المفهرسة ، لذلك للإشارة إلى العنصر الأول من المصفوفة ، سنستخدم 0
. تمثل المعلمة الأولى splice()
الفهرس الموجود في الصفيف الذي تبدأ منه إزالة العناصر ، بينما تشير المعلمة الثانية إلى عدد العناصر المطلوب حذفها. فمثلا: دعونا صفيف = ['اليوم' ، 'كان' ، 'لا' ، 'هكذا' ، 'عظيم'] ؛
array.splice (2، 2)؛
// remove 2 elements starting with the 3rd element
// array الآن يساوي ['today'، 'was'، 'great']
splice()
بتعديل المصفوفة التي يتم استدعاؤها فقط ، بل يقوم أيضًا بإرجاع صفيف جديد يحتوي على قيمة العناصر التي تمت إزالتها: دعونا صفيف = ['أنا' ، 'أنا' ، 'شعور' ، 'حقا' ، 'سعيد'] ؛
السماح newArray = array.splice (3 ، 2) ؛
// newArray يساوي ['حقا' ، 'سعيد']
sumOfTen
، والتي تأخذ مصفوفة كوسيطة وتقوم بإرجاع مجموع عناصر الصفيف. قم بتعديل الوظيفة ، باستخدام splice()
، بحيث تقوم بإرجاع قيمة 10
. sumOfTen
10
testString: 'assert.strictEqual(sumOfTen([2, 5, 1, 5, 2, 1]), 10, "sumOfTen
should return 10");'
- text: يجب أن تستخدم الدالة sumOfTen
الأسلوب splice()
testString: 'assert.notStrictEqual(sumOfTen.toString().search(/\.splice\(/), -1, "The sumOfTen
function should utilize the splice()
method");'
```