الفرق بين المراجعتين لصفحة: «JavaScript/Array/splice»
لا ملخص تعديل |
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}' |
||
سطر 127: | سطر 127: | ||
* معيار [http://www.ecma-international.org/ecma-262/5.1/#sec-15.4.4.12 ECMAScript 5.1]. | * معيار [http://www.ecma-international.org/ecma-262/5.1/#sec-15.4.4.12 ECMAScript 5.1]. | ||
* معيار [http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%203rd%20edition,%20December%201999.pdf ECMAScript 3rd Edition]. | * معيار [http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%203rd%20edition,%20December%201999.pdf ECMAScript 3rd Edition]. | ||
[[تصنيف:JavaScript]] | [[تصنيف:JavaScript|{{SUBPAGENAME}}]] | ||
[[تصنيف:JavaScript Global Objects]] | [[تصنيف:JavaScript Global Objects|{{SUBPAGENAME}}]] | ||
[[تصنيف:JavaScript Array]] | [[تصنيف:JavaScript Array|{{SUBPAGENAME}}]] |
المراجعة الحالية بتاريخ 15:43، 28 يناير 2018
الدالة Array.prototype.splice()
تغيّر محتويات مصفوفة بإزالة عناصر موجودة فيها أو إضافة عناصر جديدة إليها.
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
myFish.splice(2, 0, 'drum'); // إضافة عنصر في الفهرس 2
// myFish: ["angel", "clown", "drum", "mandarin", "sturgeon"]
myFish.splice(2, 1); // إزالة عنصر واحد (1) في الفهرس 2
// myFish: ["angel", "clown", "mandarin", "sturgeon"]
البنية العامة
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
start
الفهرس الذي سنبدأ فيه تغيير المصفوفة (ويكون المبدأ هو 0)، وإذا كانت هذه القيمة أكبر من عدد عناصر المصفوفة (أي length
)، فسيُضبَط فهرس البداية إلى length
، وإذا كانت القيمة سالبةً فسيبدأ العد من نهاية المصفوفة.
deleteCount
عدد صحيح يُشير إلى عدد العناصر التي نريد حذفها.
إذا لم تُحدَّد قيمة الوسيط deleteCount
، أو كانت قيمته أكبر من arr.length - start
(أي أكبر من عدد العناصر المتبقية في المصفوفة بدءًا من فهرس البداية start
)، فستُحذَف جميع العناصر بدءًا من start
حتى نهاية المصفوفة.
أما إذا كانت قيمة هذا الوسيط صفرًا أو عددًا سالبًا، فلن تُحذَف أيَّة عناصر؛ وفي هذه الحالة عليك توفير عنصر جديد واحد على الأقل.
item1, item2, ...
العناصر التي ستُضاف إلى المصفوفة، بدءًا من الفهرس start
، وإذا لم تُحدِّد أيّة عناصر، فستكتفي الدالة splice
بحذف العناصر من المصفوفة.
القيمة المعادة
مصفوفة تحتوي على العناصر المحذوفة. وإذا حُذِفَ عنصرٌ واحدٌ فقط فستُعاد مصفوفةٌ لها عنصرٌ وحيد، وإذا لم تُحذَف أيّة عناصر، فستُعاد مصفوفةٌ فارغة.
الوصف
إذا حاولت إضافة عدد من العناصر يختلف عن عدد العناصر التي تريد حذفها، فسيكون طول (length
) المصفوفة الناتجة مختلفًا.
أمثلة
إضافة عنصر إلى مصفوفة
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(2, 0, 'drum');
// myFish: ["angel", "clown", "drum", "mandarin", "sturgeon"]
// removed: []. أي لم تُحذَف أيّة عناصر
حذف عنصر من فهرسٍ معيّن
var myFish = ['angel', 'clown', 'drum', 'mandarin', 'sturgeon'];
var removed = myFish.splice(3, 1);
// myFish: ["angel", "clown", "drum", "sturgeon"]
// removed: ["mandarin"]
حذف عنصر من فهرسٍ معيّن وإضافة عنصر آخر
var myFish = ['angel', 'clown', 'drum', 'sturgeon'];
var removed = myFish.splice(2, 1, 'trumpet');
// myFish: ["angel", "clown", "trumpet", "sturgeon"]
// removed: ["drum"]
حذف عنصرين وإضافة ثلاثة عناصر
var myFish = ['angel', 'clown', 'trumpet', 'sturgeon'];
var removed = myFish.splice(0, 2, 'parrot', 'anemone', 'blue');
// myFish: ["parrot", "anemone", "blue", "trumpet", "sturgeon"]
// removed: ["angel", "clown"]
حذف عنصرين
var myFish = ['parrot', 'anemone', 'blue', 'trumpet', 'sturgeon'];
var removed = myFish.splice(myFish.length - 3, 2);
// myFish: ["parrot", "anemone", "sturgeon"]
// removed: ["blue", "trumpet"]
حذف عنصر من فهرسٍ سالب
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(-2, 1);
// myFish: ["angel", "clown", "sturgeon"]
// removed: ["mandarin"]
حذف جميع العناصر بعد فهرسٍ معيّن
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(2);
// myFish: ["angel", "clown"]
// removed: ["mandarin", "sturgeon"]
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | نعم | نعم | نعم | نعم | نعم |
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).
- معيار ECMAScript 5.1.
- معيار ECMAScript 3rd Edition.