دروس الوحدة (2/4)
طرق السلسلة
تحتوي السلاسل النصية في JS على عشرات الطرق ولكن في الممارسة العملية ستستخدم عشرة منها لهم. كلها وظائف ** لا تعدل السلسلة الأصلية ** (السلاسل immutable) ولكنها تُرجع قيمة جديدة.
الطول، الحالة، البحث
'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 مستبعد). يتم احتساب المؤشرات السلبية من النهاية.
'abcdefgh'.slice(0, 3); // 'abc'
'abcdefgh'.slice(3); // 'defgh' (omitting end = to the end)
'abcdefgh'.slice(-2); // 'gh' (last two)الانقسام والانضمام مرة أخرى
split(separator) يقسم السلسلة إلى مجموعة من القطع. العكس هو
join(...) على المصفوفة:
'rosso,verde,blu'.split(','); // ['rosso','verde','blu']
['rosso', 'verde', 'blu'].join(' | '); // 'rosso | verde | blu'استبدال
replace يغير الحدث الأول، replaceAll يغير كل منهم:
'a-b-c'.replace('-', '_'); // 'a_b-c'
'a-b-c'.replaceAll('-', '_'); // 'a_b_c'القطع: إزالة المسافة البيضاء عند الحواف
trim() يزيل المسافات (والأسطر الجديدة وعلامات التبويب) في البداية والنهاية.
لا غنى عنه عندما تتلقى مدخلات من النموذج.
' ciao '.trim(); // 'ciao'جربه
بعد تلقي رسالة بريد إلكتروني `` Mario.Rossi@Example.com ''، قم بتطبيعها: قم بإزالة المساحات المحيطة واكتبها بأحرف صغيرة. يجب أن يتم تقييم التعبير الأخير إلى "mario.rossi@example.com".
إظهار التلميح
يمكنك ربط الطرق: أولًا القطع () ثم toLowerCase ().
الحل متاح بعد 3 من المحاولات
تمرين المراجعة
بالنظر إلى السلسلة `'rosso,verde,blu,giallo''، قم بإرجاع عدد الألوان كتعبير أخير (أي 4).
إظهار التلميح
Split(',') يمنحك مصفوفة؛ .length يمنحك عدد العناصر.
الحل متاح بعد 3 من المحاولات