回答:
エレガントで短い代替手段は、String.prototype.slice
メソッドです。
ちょうどによって:
str.slice(-1);
負の開始インデックスは、文字列fromからlength+index
toをスライスしlength
、インデックス-1
として、最後の文字が抽出されます。
"abc".slice(-1); // "c";
slice()
メソッドがあります。-それらの機能は概念的には類似しています(部分的なコピー)--------(コードを読んでいて参照している場合に備えて.slice()
)
str.slice(-1)
ますが、使用しているかのように、(OPは、必要に応じて)実際に文字列の最後の文字を取得しないstr.charAt(str.length - 1)
、試してみてください"abc".slice(-1)
。ここでString.prototype.slice
は、負のインデックスの使用法を示していました。元の文字列のstr.slice(-n)
最後のn
文字を新しい文字列値として取得します。さらに詳しい情報:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...
str.charAt(str.length - 1)
一部のブラウザでは、(非標準の拡張機能として)これを次のように短縮できます。
str[str.length - 1];
さまざまな方法でこれを実現できますが、パフォーマンスは異なります。
1.ブラケット表記の使用:
var str = "Test";
var lastLetter = str[str.length - 1];
ただし、ブラケットを使用することはお勧めしません。ここで理由を確認してください
2. charAt [index]:
var lastLetter = str.charAt(str.length - 1)
これは読みやすく、特に高速です。最もおすすめの方法です。
3.部分文字列:
str.substring(str.length - 1);
4.スライス:
str.slice(-1);
サブストリングよりわずかに高速です。
ES6の場合:
使用できます str.endsWith("t");
str.slice(-1);
endsWith
ここにどのように当てはまるかはわかりません。
それを行う簡単な方法はこれを使うことです:)
var word = "waffle"
word.endsWith("e")
var firstName = "Ada";
var lastLetterOfFirstName = firstName[firstName.length - 1];