الانتقال إلى المحتوى الرئيسي
الوحدة 2 · الدرس 2 من 46/32 في الدورة~10 min
دروس الوحدة (2/4)

طرق السلسلة

تحتوي السلاسل النصية في JS على عشرات الطرق ولكن في الممارسة العملية ستستخدم عشرة منها لهم. كلها وظائف ** لا تعدل السلسلة الأصلية ** (السلاسل immutable) ولكنها تُرجع قيمة جديدة.

الطول، الحالة، البحث

JS
'JavaScript'.length; // 10
'JavaScript'.toUpperCase(); // 'JAVASCRIPT'
'JavaScript'.toLowerCase(); // 'javascript'

'JavaScript'.includes('Script'); // true
'JavaScript'.startsWith('Java'); // true
'JavaScript'.endsWith('!'); // false

'JavaScript'.indexOf('a'); // 1    (first occurrence, from 0)
'JavaScript'.indexOf('zzz'); // -1   (not found)

length هي خاصية (بدون أقواس)، أما الباقي فهي طرق — الوظائف التي تم استدعاؤها باستخدام (…).

استخراج الأجزاء باستخدام slice

slice(start, end) تُرجع السلسلة الفرعية بين المواضع المحددة (end مستبعد). يتم احتساب المؤشرات السلبية من النهاية.

JS
'abcdefgh'.slice(0, 3); // 'abc'
'abcdefgh'.slice(3); // 'defgh'   (omitting end = to the end)
'abcdefgh'.slice(-2); // 'gh'      (last two)

الانقسام والانضمام مرة أخرى

split(separator) يقسم السلسلة إلى مجموعة من القطع. العكس هو join(...) على المصفوفة:

JS
'rosso,verde,blu'.split(','); // ['rosso','verde','blu']
['rosso', 'verde', 'blu'].join(' | '); // 'rosso | verde | blu'

استبدال

replace يغير الحدث الأول، replaceAll يغير كل منهم:

JS
'a-b-c'.replace('-', '_'); // 'a_b-c'
'a-b-c'.replaceAll('-', '_'); // 'a_b_c'

القطع: إزالة المسافة البيضاء عند الحواف

trim() يزيل المسافات (والأسطر الجديدة وعلامات التبويب) في البداية والنهاية. لا غنى عنه عندما تتلقى مدخلات من النموذج.

JS
'   ciao  '.trim(); // 'ciao'

جربه

تمرين#js.m2.l2.e1
المحاولات: 0جارٍ التحميل…

بعد تلقي رسالة بريد إلكتروني `` Mario.Rossi@Example.com ''، قم بتطبيعها: قم بإزالة المساحات المحيطة واكتبها بأحرف صغيرة. يجب أن يتم تقييم التعبير الأخير إلى "mario.rossi@example.com".

جارٍ تحميل المحرر…
إظهار التلميح

يمكنك ربط الطرق: أولًا القطع () ثم toLowerCase ().

الحل متاح بعد 3 من المحاولات

تمرين المراجعة

تمرين#js.m2.l2.e2
المحاولات: 0جارٍ التحميل…

بالنظر إلى السلسلة `'rosso,verde,blu,giallo''، قم بإرجاع عدد الألوان كتعبير أخير (أي 4).

جارٍ تحميل المحرر…
إظهار التلميح

Split(',') يمنحك مصفوفة؛ .length يمنحك عدد العناصر.

الحل متاح بعد 3 من المحاولات