Jawaban:
Alternatif yang elegan dan pendek, adalah String.prototype.slice
metode.
Hanya dengan:
str.slice(-1);
Indeks awal negatif mengiris string dari length+index
, menjadi length
, menjadi indeks -1
, karakter terakhir diekstraksi:
"abc".slice(-1); // "c";
slice()
metode. - Fungsionalitas mereka secara konseptual serupa (sebagian salinan) -------- (Untuk berjaga-jaga jika Anda membaca kode dan melihat .slice()
)
str.slice(-1)
memang mendapatkan karakter terakhir dari string (sebagai OP yang diperlukan), sama seperti jika Anda digunakan str.charAt(str.length - 1)
, coba: "abc".slice(-1)
. Saya menunjukkan di sini penggunaan String.prototype.slice
dengan indeks negatif. str.slice(-n)
akan mendapatkan n
karakter terakhir dari string asli sebagai nilai string baru. Info lebih lanjut: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
Gunakan charAt
:
Metode charAt () mengembalikan karakter pada indeks yang ditentukan dalam string.
Anda bisa menggunakan metode ini bersamaan dengan length
properti string untuk mendapatkan karakter terakhir dalam string itu.
Sebagai contoh:
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)
Beberapa browser memungkinkan (sebagai ekstensi non-standar) Anda mempersingkat ini menjadi:
str[str.length - 1];
Anda dapat mencapai ini menggunakan cara yang berbeda tetapi dengan kinerja yang berbeda,
1. Menggunakan notasi braket:
var str = "Test";
var lastLetter = str[str.length - 1];
Tetapi tidak disarankan menggunakan kurung. Periksa alasannya di sini
2. karakter [indeks]:
var lastLetter = str.charAt(str.length - 1)
Ini bisa dibaca dan tercepat di antara yang lainnya. Ini cara yang paling direkomendasikan.
3. substring:
str.substring(str.length - 1);
4. iris:
str.slice(-1);
Ini sedikit lebih cepat daripada substring.
Anda dapat memeriksa kinerjanya di sini
Dengan ES6:
Kamu bisa menggunakan str.endsWith("t");
Tetapi tidak didukung di IE. Lihat detail selengkapnya tentang ujungnyaDengan di sini
str.slice(-1);
endsWith
cocok di sini, itu melakukan sesuatu yang sama sekali berbeda.
Gunakan substr dengan parameter -1 :
"linto.yahoo.com.". substr (-1);
sama dengan "."
catatan:
Untuk mengekstrak karakter dari ujung string, gunakan angka mulai negatif (Ini tidak berfungsi di IE 8 dan sebelumnya).
Cara mudah untuk melakukannya adalah menggunakan ini :)
var word = "waffle"
word.endsWith("e")
Anda bisa mendapatkan karakter terakhir seperti ini:
var lastChar=yourString.charAt(yourString.length-1);
Gunakan fungsi JavaScript charAt untuk mendapatkan karakter pada posisi 0-indexed yang diberikan. Gunakan panjang untuk mengetahui berapa lama String. Anda menginginkan karakter terakhir sehingga panjangnya - 1. Contoh:
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];
Anda dapat menggunakan metode ES6 sederhana ini
const lastChar = (str) => str.split('').reverse().join(',').replace(',', '')[str.length === str.length + 1 ? 1 : 0];
// example
console.log(lastChar("linto.yahoo.com."));
Ini akan berfungsi di setiap browser.