A string a JavaScript szöveges adatok tárolására szolgáló adattípusa.
Úgy hozol létre egy stringet, hogy a szöveget egyszeres vagy kétszeres idézőjelbe foglalod. Az Exercism-ön egyszeres idézőjeleket használunk.
'Hello, World!'
"Hello, World!"
A stringet tekintheted karakterek listájaként, ahol az első karakter indexe 0.
Egy string egyes karaktereit szögletes zárójelekkel és a kívánt betű indexével érheted el.
'cat'[1];
// => 'a'
A string karaktereinek számát a length tulajdonság elérésével állapíthatod meg.
'cat'.length;
// => 3
A stringek összefűzésének legegyszerűbb módja a + összeadásoperátor használata.
'I like' + ' ' + 'cats.';
// => "I like cats."
A stringek rengeteg segédmetódust kínálnak, a teljes listát lásd az MDN dokumentációjában a stringmetódusokról. Az alábbi lista néhány gyakran használt segédmetódust mutat be.
toUpperCase és toLowerCase - az összes karakter kis- és nagybetűs írásmódját változtatja megtrim - eltávolítja a szóközöket az elejéről és a végérőlincludes, startsWith és endsWith - meghatározza, hogy egy másik string része-e az adott stringnekslice - egy szakaszt emel ki a stringbőlA stringek megváltoztathatatlanok JavaScriptben. Ezért egy „módosítás”, például a fenti metódusok valamelyikével, mindig új stringet hoz létre helyette.
Új költőklub nyílt a városban, és azon gondolkodsz, hogy csatlakozz-e. Mivel a múltban voltak már incidensek, a klubnak nagyon szigorú ajtószabályzata van, amelyet el kell sajátítanod, mielőtt belépést kérnél.
A költőklubnak két ajtaja van, egy bejárati és egy hátsó, és mindkettőt őrzik. A belépéshez ki kell találnod az aznapi jelszót.
A jelszó mindig egy versen alapul, és két lépésben vezethető le.
A folyamat részletei attól függnek, melyik ajtón próbálsz belépni.
A bejárati ajtó jelszavához tartozó betűk meghatározásához a verssor első betűjével kell válaszolnod, amelyet az őr felmond neked.
Hogy szép jelszó szülessen, a költőklub tagjai szívesen használnak akrosztichon verseket. Ez azt jelenti, hogy minden mondat első betűje egy szót alkot. Íme egy példa egyik kedvenc írójuktól, Michael Lockwoodtól.
Stands so high
Huge hooves too
Impatiently waits for
Reins and harness
Eager to leave
Tehát amikor az őr a Stands so high sort mondja fel, S-sel válaszolsz; amikor a Huge hooves too sort, H-val.
Valósítsd meg a frontDoorResponse függvényt, amely argumentumként a vers egy sorát kapja, és visszaadja a sor első betűjét.
frontDoorResponse('Stands so high');
// => "S"
Most, hogy megvan az összes helyes betű, a bejárati ajtó jelszavához már csak annyit kell tenned, hogy a szót helyesen írod nagy kezdőbetűvel.
Valósítsd meg a frontDoorPassword függvényt, amely egy stringet fogad (az 1. részfeladatban összegyűjtött betűket), és helyesen nagy kezdőbetűvel adja vissza.
frontDoorPassword('SHIRE');
// => "Shire"
frontDoorPassword('shire');
// => "Shire"
A hátsó ajtó jelszavához tartozó betűk meghatározásához a verssor utolsó betűjével kell válaszolnod, amelyet az őr felmond neked.
A költőklub tagjai igazán okosak. A korábban említett vers egyben telestichon is, ami azt jelenti, hogy minden mondat utolsó betűje szintén egy szót alkot:
Stands so high
Huge hooves too
Impatiently waits for
Reins and harness
Eager to leave
Amikor az őr a Stands so high sort mondja fel, h-val válaszolsz; amikor a Huge hooves too sort, o-val.
Figyeld meg, hogy az őr néha stilisztikai szüneteket tart (szóközök formájában) a sor elején vagy végén. Ezeket a szüneteket figyelmen kívül kell hagynod ahhoz, hogy levezessed a helyes betűt.
Valósítsd meg a backDoorResponse függvényt, amely argumentumként a vers egy sorát kapja, és visszaadja a sor utolsó nem szóköz karakterét.
backDoorResponse('Stands so high');
// => "h"
backDoorResponse('Stands so high ');
// => "h"
Hogy a hátsó ajtón keresztül bejuss a költőklubba, különösen udvariasnak kell lenned.
A jelszó levezetéséhez ezúttal helyesen kell nagy kezdőbetűvel írnod a szót, és a végére kell fűznöd a ', please' szöveget.
Valósítsd meg a backDoorPassword függvényt, amely egy stringet fogad (a 3. részfeladatban összegyűjtött betűket), és visszaadja a nagy kezdőbetűvel írt jelszó udvarias változatát.
backDoorPassword('horse');
// => "Horse, please"
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) JavaScript nyelvet 37 fogalom159 feladat segítségével, valódi emberi mentorálással, mindez ingyen.