Odpowiedzi:
String.prototype.sliceMetoda jest elegancką i krótką alternatywą .
Tylko przez:
str.slice(-1);
Ujemny indeks początkowy wycina ciąg od length+index, do lengthindeksu -1, wyodrębniany jest ostatni znak:
"abc".slice(-1); // "c";
slice()metodę. - Ich funkcjonalność jest koncepcyjnie podobna (kopie częściowe) -------- (Na wszelki wypadek czytasz kod i widzisz .slice())
str.slice(-1)rzeczywiście dostać ostatni znak łańcucha (wymagane OP), tak jakby został użyty str.charAt(str.length - 1), spróbuj: "abc".slice(-1). Pokazałem tutaj użycie String.prototype.slicez indeksem ujemnym. str.slice(-n)otrzyma ostatnie nznaki oryginalnego ciągu jako nową wartość ciągu. Więcej informacji: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
Użyj charAt:
Metoda charAt () zwraca ciąg znaków o podanym indeksie.
Możesz użyć tej metody w połączeniu z lengthwłaściwością ciągu, aby uzyskać ostatni znak w tym ciągu.
Na przykład:
const myString = "linto.yahoo.com.";
const stringLength = myString.length; // this will be 16
console.log('lastChar: ', myString.charAt(stringLength - 1)); // this will be the string
str.charAt(str.length - 1)
Niektóre przeglądarki pozwalają (jako niestandardowe rozszerzenie) skrócić to do:
str[str.length - 1];
Możesz to osiągnąć na różne sposoby, ale z różną wydajnością,
1. Używając notacji nawiasowej:
var str = "Test";
var lastLetter = str[str.length - 1];
Ale nie zaleca się używania nawiasów. Sprawdź przyczyny tutaj
2. charAt [indeks]:
var lastLetter = str.charAt(str.length - 1)
Jest to między innymi czytelne i najszybsze. Jest to najbardziej zalecany sposób.
3. substring:
str.substring(str.length - 1);
4. plasterek:
str.slice(-1);
Jest nieco szybszy niż substring.
Możesz sprawdzić wydajność tutaj
Z ES6:
Możesz użyć str.endsWith("t");
Ale nie jest obsługiwany w IE. Sprawdź więcej szczegółów na temat końcówek tutaj
str.slice(-1);
endsWithtu pasuje, robi to coś zupełnie innego.
Łatwy sposób to zrobić :)
var word = "waffle"
word.endsWith("e")
Ostatni znak możesz uzyskać w ten sposób:
var lastChar=yourString.charAt(yourString.length-1);
Użyj funkcji JavaScript charAt, aby uzyskać znak na danej pozycji 0-indeksowanej. Użyj długości, aby dowiedzieć się, jak długi jest ciąg. Chcesz ostatniego znaku, więc ma długość - 1. Przykład:
var word = "linto.yahoo.com.";
var last = word.charAt(word.length - 1);
alert('The last character is:' + last);
var firstName = "Ada";
var lastLetterOfFirstName = firstName[firstName.length - 1];
Możesz użyć tej prostej metody ES6
const lastChar = (str) => str.split('').reverse().join(',').replace(',', '')[str.length === str.length + 1 ? 1 : 0];
// example
console.log(lastChar("linto.yahoo.com."));
Działa to we wszystkich przeglądarkach.