Μια συμβολοσειρά είναι ο τύπος δεδομένων της JavaScript για την αποθήκευση δεδομένων κειμένου.
Δημιουργείς μια συμβολοσειρά τυλίγοντας το κείμενο σε μονά ή διπλά εισαγωγικά. Στο Exercism χρησιμοποιούνται μονά εισαγωγικά.
'Hello, World!'
"Hello, World!"
Μια συμβολοσειρά μπορεί να αντιμετωπιστεί ως λίστα χαρακτήρων όπου ο πρώτος χαρακτήρας έχει θέση 0.
Μπορείς να προσπελάσεις έναν μεμονωμένο χαρακτήρα της συμβολοσειράς χρησιμοποιώντας αγκύλες και τη θέση του γράμματος που θέλεις να ανακτήσεις.
'cat'[1];
// => 'a'
Μπορείς να προσδιορίσεις τον αριθμό των χαρακτήρων σε μια συμβολοσειρά προσπελαύνοντας την ιδιότητα length.
'cat'.length;
// => 3
Ο πιο απλός τρόπος για να συνενώσεις συμβολοσειρές είναι να χρησιμοποιήσεις τον τελεστή πρόσθεσης +.
'I like' + ' ' + 'cats.';
// => "I like cats."
Οι συμβολοσειρές παρέχουν πολλές βοηθητικές μεθόδους· δες την τεκμηρίωση του MDN για τις μεθόδους συμβολοσειρών για μια πλήρη λίστα. Η παρακάτω λίστα δείχνει μερικές από τις πιο συχνά χρησιμοποιούμενες βοηθητικές μεθόδους.
toUpperCase και toLowerCase - μετατρέπουν όλους τους χαρακτήρες σε κεφαλαία ή πεζάtrim - αφαιρεί τα κενά στην αρχή και στο τέλοςincludes, startsWith και endsWith - προσδιορίζουν αν μια άλλη συμβολοσειρά είναι μέρος της δεδομένης συμβολοσειράςslice - εξάγει ένα τμήμα της συμβολοσειράςΟι συμβολοσειρές είναι αμετάβλητες στη JavaScript. Έτσι, μια "τροποποίηση", π.χ. μέσω κάποιων από τις παραπάνω μεθόδους, θα δημιουργήσει πάντα μια νέα συμβολοσειρά αντ' αυτού.
Ένα νέο κλαμπ ποίησης άνοιξε στην πόλη και σκέφτεσαι να το επισκεφτείς. Επειδή έχουν συμβεί περιστατικά στο παρελθόν, το κλαμπ έχει μια πολύ συγκεκριμένη πολιτική εισόδου, την οποία θα πρέπει να μάθεις καλά πριν επιχειρήσεις να μπεις.
Το κλαμπ ποίησης έχει δύο πόρτες, μια μπροστινή και μια πίσω, και οι δύο φυλάσσονται. Για να μπεις, θα χρειαστεί να βρεις τον κωδικό της ημέρας.
Ο κωδικός βασίζεται πάντα σε ένα ποίημα και μπορεί να προκύψει με μια διαδικασία δύο βημάτων.
Οι λεπτομέρειες της διαδικασίας εξαρτώνται από την πόρτα από την οποία προσπαθείς να μπεις.
Για να βρεις τα γράμματα του κωδικού της μπροστινής πόρτας, πρέπει να απαντήσεις με το πρώτο γράμμα του στίχου του ποιήματος που σου απαγγέλλει ο φύλακας.
Για να προκύπτει ένας ωραίος κωδικός, τα μέλη του κλαμπ ποίησης συνηθίζουν να χρησιμοποιούν ακροστιχίδες. Αυτό σημαίνει ότι το πρώτο γράμμα κάθε πρότασης σχηματίζει μια λέξη. Ορίστε ένα παράδειγμα από έναν από τους αγαπημένους τους συγγραφείς, τον Michael Lockwood.
Stands so high
Huge hooves too
Impatiently waits for
Reins and harness
Eager to leave
Έτσι, όταν ο φύλακας απαγγείλει Stands so high, θα απαντήσεις S, και όταν απαγγείλει Huge hooves too, θα απαντήσεις H.
Υλοποίησε τη συνάρτηση frontDoorResponse, η οποία δέχεται ως όρισμα έναν στίχο του ποιήματος και επιστρέφει το πρώτο γράμμα αυτού του στίχου.
frontDoorResponse('Stands so high');
// => "S"
Τώρα που έχεις όλα τα σωστά γράμματα, το μόνο που χρειάζεται για να πάρεις τον κωδικό της μπροστινής πόρτας είναι να γράψεις σωστά τη λέξη με κεφαλαίο το πρώτο γράμμα.
Υλοποίησε τη συνάρτηση frontDoorPassword, η οποία δέχεται μια συμβολοσειρά (τα γράμματα που συγκέντρωσες στο βήμα 1) και την επιστρέφει με σωστά κεφαλαία.
frontDoorPassword('SHIRE');
// => "Shire"
frontDoorPassword('shire');
// => "Shire"
Για να βρεις τα γράμματα του κωδικού της πίσω πόρτας, πρέπει να απαντήσεις με το τελευταίο γράμμα του στίχου του ποιήματος που σου απαγγέλλει ο φύλακας.
Τα μέλη του κλαμπ ποίησης είναι πραγματικά έξυπνα. Το ποίημα που αναφέραμε πριν είναι και τελεστιχίδα, που σημαίνει ότι το τελευταίο γράμμα κάθε πρότασης σχηματίζει επίσης μια λέξη:
Stands so high
Huge hooves too
Impatiently waits for
Reins and harness
Eager to leave
Όταν ο φύλακας απαγγείλει Stands so high, θα απαντήσεις h, και όταν απαγγείλει Huge hooves too, θα απαντήσεις o.
Σημείωσε ότι μερικές φορές ο φύλακας κάνει στιλιστικές παύσεις (με τη μορφή κενού διαστήματος) στην αρχή ή στο τέλος ενός στίχου. Θα χρειαστεί να αγνοήσεις αυτές τις παύσεις για να βρεις το σωστό γράμμα.
Υλοποίησε τη συνάρτηση backDoorResponse, η οποία δέχεται ως όρισμα έναν στίχο του ποιήματος και επιστρέφει το τελευταίο γράμμα αυτού του στίχου που δεν είναι κενό διάστημα.
backDoorResponse('Stands so high');
// => "h"
backDoorResponse('Stands so high ');
// => "h"
Για να μπεις στο κλαμπ ποίησης από την πίσω πόρτα, πρέπει να είσαι ιδιαίτερα ευγενικός.
Έτσι, για να βρεις τον κωδικό, αυτή τη φορά πρέπει να γράψεις σωστά τη λέξη με κεφαλαίο το πρώτο γράμμα και να προσθέσεις ', please' στο τέλος.
Υλοποίησε τη συνάρτηση backDoorPassword, η οποία δέχεται μια συμβολοσειρά (τα γράμματα που συγκέντρωσες στο βήμα 3) και επιστρέφει την ευγενική εκδοχή του κωδικού με τα σωστά κεφαλαία.
backDoorPassword('horse');
// => "Horse, please"
Γράψου στο Exercism για να μάθεις και να κατακτήσεις JavaScript με 37 έννοιες159 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.