Відповіді:
Елегантною і короткою альтернативою є String.prototype.sliceметод.
Просто:
str.slice(-1);
Індекс негативного початку відрізає рядок від length+index, до length, будучи індексом -1, вилучається останній символ:
"abc".slice(-1); // "c";
slice()метод. - Їх функціональність концептуально схожа (часткові копії) -------- (Про всяк випадок, якщо ви читаєте код і бачите .slice())
str.slice(-1)дійсно отримати останній символ рядка (відповідно з вимогами ОП), так само , як якщо б ви використовували str.charAt(str.length - 1), спробуйте: "abc".slice(-1). Я показував тут використання String.prototype.sliceз негативним індексом. str.slice(-n)отримає останні nсимволи вихідної рядки як нове значення рядка. Більше інформації: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
Використання charAt:
Метод charAt () повертає символ у вказаному індексі в рядку.
Ви можете використовувати цей метод спільно зі lengthвластивістю рядка, щоб отримати останній символ у цій рядку.
Наприклад:
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)
Деякі браузери дозволяють (як нестандартне розширення) скоротити це до:
str[str.length - 1];
Ви можете досягти цього, використовуючи різні способи, але з різною продуктивністю,
1. Використання позначень дужок:
var str = "Test";
var lastLetter = str[str.length - 1];
Але не рекомендується використовувати дужки. Перевірте причини тут
2. charAt [індекс]:
var lastLetter = str.charAt(str.length - 1)
Це читабельно і найшвидше серед інших. Це найбільш рекомендований спосіб.
3. підряд:
str.substring(str.length - 1);
4. скибочка:
str.slice(-1);
Це трохи швидше, ніж підрядка.
Ви можете перевірити продуктивність тут
З ES6:
Можна використовувати str.endsWith("t");
Але це не підтримується в IE. Більше інформації про кінціЗвідайте тут
str.slice(-1);
endsWithтут підходить, що робить щось зовсім інше.
Простий спосіб зробити це за допомогою цього :)
var word = "waffle"
word.endsWith("e")
Ви можете отримати останній знак так:
var lastChar=yourString.charAt(yourString.length-1);
Використовуйте функцію charAt JavaScript, щоб отримати символ у заданій позиції, що індексується 0. Використовуйте довжину, щоб дізнатися, як довга струна. Ви хочете, щоб останній символ був таким довжиною - 1. Приклад:
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];
Ви можете використовувати цей простий метод ES6
const lastChar = (str) => str.split('').reverse().join(',').replace(',', '')[str.length === str.length + 1 ? 1 : 0];
// example
console.log(lastChar("linto.yahoo.com."));
Це працюватиме в усіх браузерах.