Kétféle módon erősítheti meg a String végét a JavaScript-ben

Ebben a cikkben elmagyarázom, hogyan lehet megoldani a freeCodeCamp „Vége megerősítése kihívását. Ez magában foglalja annak ellenőrzését, hogy egy karakterlánc végződik-e meghatározott karaktersorral.

A két megközelítést tárgyalom:

  1. az substr () módszerrel
  2. végek használatával () módszerrel

Az algoritmus kihívás leírása

Ellenőrizze, hogy egy karakterlánc (első argumentum, str) végződik-e az adott céllánccal (második argumentum, target).

Ez a kihívás megoldható .endsWith()az ES2015-ben bevezetett módszerrel. De ennek a kihívásnak a teljesítéséhez azt szeretnénk, ha ehelyett a JavaScript szubsztring módszereket használja.

function confirmEnding(string, target) { return string; } confirmEnding("Bastian", "n");

Biztosított tesztesetek

confirmEnding("Bastian", "n") should return true. confirmEnding("Connor", "n") should return false. confirmEnding("Walking on water and developing software from a specification are easy if both are frozen", "specification") should return false. largestOfFour([[4, 9, 1, 3], [13, 35, 18, 26], [32, 35, 97, 39], [1000000, 1001, 857, 1]]) should return [9, 35, 97, 1000000]. confirmEnding("He has to give me a new name", "name")should return true. confirmEnding("Open sesame", "same") should return true. confirmEnding("Open sesame", "pen") should return false. confirmEnding("If you want to save our world, you must hurry. We dont know how much longer we can withstand the nothing", "mountain") should return false. Do not use the built-in method .endsWith() to solve the challenge.

1. megközelítés: String befejezésének megerősítése beépített függvényekkel - substr ()

Ehhez a megoldáshoz a String.prototype.substr () metódust fogja használni:

  • A substr()módszer egy karakterláncban szereplő karaktereket adja vissza a megadott helyen kezdődően a megadott számú karakteren keresztül.

Miért használja string.substr(-target.length)?

Ha a target.length negatív, akkor az substr () metódus a karakterlánc végétől kezdi a számlálást, amit erre a kódkihívásra kíván.

Nem akarja használni string.substr(-1)a karakterlánc utolsó elemének megszerzéséhez, mert ha a cél egy betűnél hosszabb:

confirmEnding("Open sesame", "same")

... a cél egyáltalán nem tér vissza.

Tehát itt string.substr(-target.length)megkapja a 'Bastian' karakterlánc utolsó indexét, amely 'n'.

Ezután ellenőrizze, hogy string.substr(-target.length)megegyezik- e a céllal (igaz vagy hamis).

 function confirmEnding(string, target) { // Step 1. Use the substr method if (string.substr(-target.length) === target) { // What does "if (string.substr(-target.length) === target)" represents? // The string is 'Bastian' and the target is 'n' // target.length = 1 so -target.length = -1 // if ('Bastian'.substr(-1) === 'n') // if ('n' === 'n') // Step 2. Return a boolean (true or false) return true; } else { return false; } } confirmEnding('Bastian', 'n');

Hozzászólások nélkül:

 function confirmEnding(string, target) { if (string.substr(-target.length) === target) { return true; } else { return false; } } confirmEnding('Bastian', 'n');

A háromutas operátort használhatja parancsikonként az if utasításhoz:

(string.substr(-target.length) === target) ? true : false;

Ez így olvasható:

if (string.substr(-target.length) === target) { return true; } else { return false; }

Ezután visszaadja a háromszintű operátort a funkciójában:

 function confirmEnding(string, target) { return (string.substr(-target.length) === target) ? true : false; } confirmEnding('Bastian', 'n');

A kódot úgy is átalakíthatja, hogy tömörebb legyen, ha csak a feltételt adja vissza:

function confirmEnding(string, target) { return string.substr(-target.length) === target; } confirmEnding('Bastian', 'n');

2. megközelítés: String befejezésének megerősítése beépített függvényekkel - endWith () segítségével

Ehhez a megoldáshoz a String.prototype.endsWith () metódust fogja használni:

  • A endsWith()módszer meghatározza, hogy egy karakterlánc egy másik karakter karakterével végződik-e, visszatérő truevagy falsemegfelelő. Ez a módszer megkülönbözteti a kis- és nagybetűket.
function confirmEnding(string, target) { // We return the method with the target as a parameter // The result will be a boolean (true/false) return string.endsWith(target); // 'Bastian'.endsWith('n') } confirmEnding('Bastian', 'n');

Remélem, hasznosnak találta ezt. Ez része a freeCodeCamp Algorithm Challenges című „Hogyan lehet megoldani az FCC algoritmusokat” című cikksorozatomnak, ahol számos megoldást javaslok, és lépésről lépésre elmagyarázom, mi történik a motorháztető alatt.

Három módon ismételhetünk egy karakterláncot a JavaScript-ben

Ebben a cikkben elmagyarázom, hogyan lehet megoldani a freeCodeCamp „Karakterlánc megismétlése sztring megismétlése” kihívását. Ez magában foglalja…

Három módszer a karakterlánc megfordítására a JavaScript-ben

Ez a cikk a Free Code Camp algoritmus-szkriptjein alapul, „Fordítsa meg a karakterláncot”

Három módszer a szám ténylegesítésére a JavaScript-ben

Ez a cikk a Free Code Camp algoritmus-szkriptjein alapszik: „Számok ténylegesítése”

Kétféle módja annak, hogy ellenőrizze a palindromokat a JavaScript-ben

Ez a cikk a Free Code Camp Basic Algorithm Scripting „Palindromes ellenőrzése” alapján készült.

Három módszer a leghosszabb szó megkeresésére egy stringben a JavaScript-ben

Ez a cikk a Free Code Camp algoritmus-szkriptjein alapul: „Keresse meg a leghosszabb szót egy karakterláncban”.

Három módszer a mondat elnevezésére a JavaScript-ben

Ez a cikk a „Free Code Camp Basic Algorithm Scripting“ Title Case a Sentence ”címen alapul.

Ha van saját megoldása vagy javaslata, ossza meg őket alább a megjegyzésekben.

Vagy akkor utánam a Medium , Twitter, GitHub és LinkedIn , jobb kattintás után a zöld szívében alábbi ;-)

# StayCurious, # KeepOnHacking és # MakeItHappen!

További források

  • substr () módszer - MDN
  • () módszerrel - MDN
  • Ternary Operator - MDN