Skip to the content.

Տեքստից ենթատեքստի ստացումը: Ի՞նչ մեթոդներ կան, ո՞րն է այդ մեթոդներից ամենաճկունը

Շատ հաճախ մեզ պետք է լինում ոչ միայն պարզել թե արդյո՞ք տեքստը պարունակում է այդ ենթատողը ու ո՞ր ինդեքսում է այն գտնվում, այլ նաև ստանալ այն և օգտագործել։ JavaScript-ը դրա համար ունի 3 ներդրված մեթոդ։ Փորձենք մանրամասն քննարկել այդ մեթոդները, և պարզել որն է նրանցից ամենաճկունը։ Եվ այսպես այդ մեթոդներն են՝

Սկսենք substring -ից։ Նախ տեսնենք թե MDN-ում ոնց է նկարագրվում տվյալ մեթոդը և ինչպես է այն աշխատում։ Գրելաձևը հետևյալն է՝

str.substring(start [,end]), որտեղ․

Այսպիսով ՝

Այժմ դիտարկենք մի քանի օրինակներ․

let str = "Armenian JavaScript Community";
console.log(str.substring(0, 3)); // "Arm"
console.log(str.substring(3, 0)); // "Arm"

Վերևի օրինակի երկու դեպքում էլ կստանանք “Arm” ենթատեքստը։

console.log(str.substring(9, 19)); // "JavaScript"
console.log(str.substring(19, 9)); // "JavaScript"

Այս երկու դեպքն էլ կվերադարձնի “JavaScript” ենթատեքստը։

Հաջորդը՝ substr մեթոդն է։ Կրկին դիմենք MDN-ի օգնությանը պարզելու համար թե ինչպես է այն աշխատում։ Գրելաձևը հետևյալն է՝

str.substr(start [,length]), որտեղ․

Այսպիսով՝

start արգումենտի բացասական լինելը նորմալ է JavaScript-ի, բայց ոչ ECMAScript-262-ի մյուս հայտնի ռեալիզացիա JScript (JavaScripti-ի Microsofti-ի տարբերակը)-ի մոտ։

Ահա մի քանի օրինակներ ՝

const str = "Armenian JavaScript Community";
console.log(str.substr(9, 20)); // "JavaScript Community"
console.log(str.substr(-9, 10)); // "Community"

Եվ իհարկե վերջին և ամենակարևոր մեթոդը՝ slice-ը։ Գրելաձևը հետևյալն է՝

str.slice(start [,end]);

Որտեղ՝

slice մեթոդը վերադարձնում է ենթատեքստը, որը սկսվում է տողի start ինդեքսին պատկանող սիմվոլից և վերջանում է end ինդեքսի մոտ (end ինդեքսին պատկանող սիմվոլը ՉԻ ԸՆԴԳՐԿՎՈՒՄ վերադարձվող ենթատողի մեջ)։ Բերենք մի քանի օրինակներ՝

let str = "Armenian JavaScript Community";
console.log(str.slice(0, 8)); // "Armenian"
console.log(str.slice(8, 19)); // "JavaScript"
console.log(str.slice(9, -10)); // "JavaScript"

Կարևոր է հիշել, որ String տիպը JavaScript-ում ՉԻ ԿԱՐՈՂ ՓՈՓՈԽՄԱՆ ԵՆԹԱՐԿՎԵԼ։ Այն ինչպես ստեղծեցինք, այնպես էլ ընդմիշտ կմնա։ Բոլոր այս 3 մեթոդները ՎԵՐԱԴԱՐՁՆՈՒՄ ԵՆ ՆՈՐ String, և ՓՈՓՈԽՈՒԹՅԱՆ ՉեՆ ԵՆԹԱՐԿՈՒՄ ՀԻՆԸ։ Հավանաբար կարող է հարց առաջանալ, թե այս մեթոդներից որն օգտագործել, որն է այն մեթոդը, որն ունիվերսալ է և ճկուն, համեմատած մնացած մեթոդների հետ։

Իհարկե slice-ը։ Թեև substr-ը նույնպես հրաշալի մեթոդ է, և որոշ դեպքերում կարող է հարմար լինել, այն ունի մեկ թերություն՝ նկարագրված չէ ECMAScript ստանդարտում և ստեղծվել է բրաուզերային միջավայրում կիրառելու համար։ Այսինքն կա հավանականություն, որ ոչ բրաուզերային միջավայրում այն կարող է չաջակցվել։

slice-ն ավելի կարճ է, ճկուն, և բոլոր միջավայրերում հրաշալի աշխատում է։ Այնպես որ կարիք չկա հիշելու մյուս երկուսի աշխատանքի սկզբունքները, իսկ եթե կարիք առաջանա էլ, կարող եք ուղղակի նայել այստեղ կամ MDN-ում։