This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function simpleReverse(foo) { | |
return foo.split("").reverse().join(""); | |
} | |
simpleReverse("Vreau să fiu întors!"); // !srotnî uif ăs uaerV |
String.split(separator, limită)Tot ceea ce face .split() este să împartă un string într-un array de string-uri. Parametrii sunt opționali însă cu ei putem profita la maxim de această metodă.
- Separatorul îl alegem în funcție de string-ul pe care vrem să îl despărțim (putem da ca separator un spațiu, o virgulă, etc). Dacă nu specificăm separatorul, metoda va returna șirul inițial, iar dacă separatorul este specificat ca un string gol, va fi returnat un array conținând fiecare caracter din șirul inițial.
- Prin limită specificăm primele câte split-uri să fie returnate.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
console.log( | |
"A fost odată ca niciodată".split(" ") // [ 'A', 'fost', 'odată', 'ca', 'niciodată' ] | |
); | |
console.log( | |
"1 - 2 - 3 - 4 - 5".split(" - ") // [ '1', '2', '3', '4', '5' ] | |
); | |
console.log( | |
"I split!".split("") // [ 'I', ' ', 's', 'p', 'l', 'i', 't', '!' ] | |
); | |
console.log( | |
"Wat happening ?".split() // [ 'Wat happening ?' ] | |
); | |
console.log( | |
"Aici mă opresc cu tine!".split(" ", 3) // [ 'Aici', 'mă', 'opresc' ] | |
); |
Exemplul de mai sus poate fi executat și modificat aici
Array.reverse()
O metodă fără parametrii, .reverse() inversează elementele array-ului specificat. Spre deosebire de .split() care returnează un array de elemente lasând string-ul inițial intact, metoda .reverse() modifică array-ul și îl returnează ca referință!
Faptul că rezultatul este transmis prin referință poate creea surprize. În exemplul de mai jos putem observa cum variablia care reține rezultatul apelului .reverse() se modifică când array-ul este adus la forma lui inițială.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var dulciuri = ["2 bomboane", "3 acadele", "4 jeleuri"]; | |
var peDos = dulciuri.reverse(); | |
console.log(peDos); // [ '4 jeleuri', '3 acadele', '2 bomboane' ] | |
console.log(dulciuri); // [ '4 jeleuri', '3 acadele', '2 bomboane' ] | |
/* Putem observa ca array-ul 'peDos' conține elementele din 'dulciuri' inversate... | |
... deoarece array-ul 'dulciuri' a fost inversat și returnat ca referinta in 'peDos'. */ | |
dulciuri.reverse(); | |
console.log(dulciuri); // [ '2 bomboane', '3 acadele', '4 jeleuri' ] | |
console.log(peDos); // [ '2 bomboane', '3 acadele', '4 jeleuri' ] | |
/* Apeland 'dulciuri.reverse()' totul revine în mod firesc la normal... | |
... dar 'peDos' îl are ca referință deci se va modifica și el! */ |
Nu vreau să spun că .reverse() este o metodă periculoasă, însă personal aș evita să fac astfel de atribuiri. Am un array de inversat? Aplic direct pe el .reverse() și totul este ok.
Asemănător cu .split(), doar că această metodă unește toate elementele unui array. Parametrul separator este opțional și specifică prin ce să fie separat fiecare element al array-ului. Dacă nu specificați separatorul elementele vor fi separate cu o virgulă după unire, iar dacă separatorul este un string gol elementele vor fi unite fără a fi separate.Array.join(separator)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var fructe = ["banane", "mere", "portocale", "prune"]; | |
console.log( | |
fructe.join("/") // banane/mere/portocale/prune | |
); | |
console.log( | |
fructe.join("") // bananemereportocaleprune | |
); | |
console.log( | |
fructe.join() // banane,mere,portocale,prune | |
); | |
console.log( | |
fructe.join(" și ") // banane și mere și portocale și prune | |
); |
0 comentarii:
Trimiteți un comentariu