Yanıtlar:
Zarif ve kısa bir alternatif, String.prototype.slice
yöntemdir.
Sadece:
str.slice(-1);
Negatif bir başlangıç indeksi gelen dize dilimler length+index
için, length
varlık endeksi, -1
geçen karakter ayıklanır:
"abc".slice(-1); // "c";
slice()
yöntemi vardır. - İşlevleri kavramsal olarak benzerdir (kısmi kopyalar) -------- (Sadece kodu okuyup görmeniz durumunda .slice()
)
str.slice(-1)
kullandığınız gibi eğer (OP gerektiği gibi) gerçekten katarın son karakterini alıyor str.charAt(str.length - 1)
deneyin: "abc".slice(-1)
. Burada String.prototype.slice
negatif indeksli bir kullanım gösteriyordum . orijinal dizenin str.slice(-n)
son n
karakterlerini yeni bir dize değeri olarak alır. Daha fazla bilgi: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
Kullanım charAt
:
CharAt () yöntemi, bir dizede belirtilen dizindeki karakteri döndürür.
Bu dizgideki length
son karakteri almak için bir dizenin özelliğiyle birlikte bu yöntemi kullanabilirsiniz .
Örneğin:
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)
Bazı tarayıcılar (standart olmayan bir uzantı olarak) bunu kısaltmanıza izin verir:
str[str.length - 1];
Bunu farklı yollarla ancak farklı performansla gerçekleştirebilirsiniz,
1. dirsek gösterimi kullanarak:
var str = "Test";
var lastLetter = str[str.length - 1];
Ancak parantez kullanılması önerilmez. Buradaki nedenleri kontrol edin
2. charAt [dizin]:
var lastLetter = str.charAt(str.length - 1)
Bu, diğerleri arasında okunabilir ve en hızlıdır. En çok tavsiye edilen yöntemdir.
3. alt dize:
str.substring(str.length - 1);
4. dilim:
str.slice(-1);
Alt dizeden biraz daha hızlı.
Performansı buradan kontrol edebilirsiniz
ES6 ile:
Kullanabilirsiniz str.endsWith("t");
Ancak IE'de desteklenmez. Endswith hakkında daha fazla ayrıntı edin burada
str.slice(-1);
endsWith
uyduğundan emin değilim , bu tamamen farklı bir şey yapıyor.
-1 parametresiyle substr kullanın :
"Linto.yahoo.com." Substr (1).;
eşittir "."
Not:
Dizenin sonundaki karakterleri ayıklamak için, negatif bir başlangıç numarası kullanın (IE 8 ve önceki sürümlerde çalışmaz).
Bunu yapmanın kolay bir yolu bunu kullanmaktır :)
var word = "waffle"
word.endsWith("e")
Son karakteri şöyle alabilirsiniz:
var lastChar=yourString.charAt(yourString.length-1);
Belirli bir 0 dizinli konumda bir karakter elde etmek için JavaScript charAt işlevini kullanın. Dizenin ne kadar sürdüğünü öğrenmek için uzunluğu kullanın . Son karakteri istiyorsunuz yani uzunluk - 1. Örnek:
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];
Bu basit ES6 yöntemini kullanabilirsiniz
const lastChar = (str) => str.split('').reverse().join(',').replace(',', '')[str.length === str.length + 1 ? 1 : 0];
// example
console.log(lastChar("linto.yahoo.com."));
Bu her tarayıcıda çalışır.