String.prototype.slice()‎

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

الدالة String.prototype.slice()‎ تستخرج قسمًا من السلسلة النصية وتُعيده كسلسلة نصية جديدة.

البنية العامة

str.slice(beginIndex[, endIndex])

beginIndex

فهرس مكان بدء الاستخراج (يبدأ العد من الصفر)، وإذا كان سالبًا فسيعامل على أنَّه strLength + beginIndex، إذ إنَّ strLength هو طول السلسلة النصية (على سبيل المثال، إذا كان beginIndex يساوي -3 فسيعامل على أنه strLength - 3). إذا كانت قيمة المعامل beginIndex أكبر أو تساوي طول السلسلة النصية، فستُعيد هذه الدالة سلسلةً نصيةً فارغةً.

endIndex

وسيطٌ اختياري، وهو الفهرس الذي يلي مكان نهاية الاستخراج (يبدأ العد من الصفر). المحرف الموجود عند هذا الفهرس لن يُضمَّن في السلسلة النصية المستخرجة. وإذا لم تُحدَّد قيمة للوسيط endIndex فستستخرج هذه الدالة السلسلة النصية من beginIndex حتى نهايتها. وإذا كانت قيمة هذا الوسيط سالبةً فستُعامل كما لو أنَّها strLength + endIndex إذ إنَّ strLength هو طول السلسلة النصية (فمثلًا، إذا كانت قيمة endIndex هي -3، فستُعامل كما لو أنَّها strLength - 3).

القيمة المعادة

سلسلة نصية جديدة تحتوي على القسم المستخرج من السلسلة النصية الأصل.

الوصف

الدالة slice()‎ تستخرج النص من سلسلة نصية وتُعيد سلسلةً نصيةً جديدةً، والتغييرات التي تحدث على السلسلة النصية لن تؤثر على الأخرى.

لاحظ أنَّ الدالة slice()‎ تستخرج السلسلة النصية إلى الفهرس endIndex لكن دون تضمينه في السلسلة المُستخرَجة. أي أنَّ الدالة str.slice(1, 4)‎ ستستخرج المحرف الثاني حتى المحرف الرابع (أي المحارف التي فهرسها هو 1 و 2 و 3).

مثالٌ آخر هو str.slice(2, -1)‎ الذي يستخرج المحرف الثالث إلى المحرف قبل الأخير في السلسلة النصية.

أمثلة

استخدام slice()‎

يبيّن المثال الآتي بعض حالات استخدام الدالة slice()‎:

var str1 = 'The morning is upon us.', // طول السلسلة النصية هو 23
    str2 = str1.slice(1, 8),
    str3 = str1.slice(4, -2),
    str4 = str1.slice(12),
    str5 = str1.slice(30);
console.log(str2); // he morn
console.log(str3); // morning is upon u
console.log(str4); // is upon us.
console.log(str5); // ""

استخدام slice()‎ مع الفهارس السالبة

var str = 'The morning is upon us.';
str.slice(-3);     // 'us.'
str.slice(-3, -1); // 'us'
str.slice(0, -1);  // 'The morning is upon us'

دعم المتصفحات

الميزة Chrome Firefox Internet Explorer Opera Safari
الدعم الأساسي نعم نعم نعم نعم نعم

مصادر ومواصفات