דילוג לתוכן המרכזי
מודול 2 · שיעור 2 מתוך 46/32 בקורס~10 min
שיעורי מודול (2/4)

שיטות מחרוזות

למחרוזות ב-JS יש עשרות שיטות אבל בפועל תשתמש בעשר מהן אותם. כולן פונקציות שלא משנות את המחרוזת המקורית (מחרוזות הן _בלתי ניתנות לשינוי) אבל מחזירות ערך חדש.

אורך, מארז, חיפוש

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'.

טוען עורך...
הצג רמז

אתה יכול לשרשר את השיטות: תחילה trim(), ואז toLowerCase().

הפתרון זמין לאחר 3 ניסיונות

סקירת התרגיל

פעילות גופנית#js.m2.l2.e2
ניסיונות: 0טוען...

בהינתן המחרוזת `'rosso,verde,blu,giallo'`, החזר כביטוי האחרון את מספר הצבעים (כלומר 4).

טוען עורך...
הצג רמז

split(',') נותן לך מערך; .length נותן לך את מספר האלמנטים.

הפתרון זמין לאחר 3 ניסיונות