JavaScriptでsliceを使う

Pocket

JavaScriptには文字列からその一部を切り出すメソッドがいくつかあります。
sliceとsubstringとsubstrです。

文字列.slice(最初の位置,最初の位置+文字数)
文字列.substring(最初の位置,最初の位置+文字数)
文字列.substr(最初の位置,文字数)

sliceとsubstringは同じです。書き換えると「文字列.slice(最初の位置,最後の位置+1)」となります。ちょっと分かりにくいかもしれません。

いくつかのパターンを試してみます。IEで確認しました。
文字列"abcdefg"に対してメソッドを適用します。

第1引数 第2引数 slice substring substr
2 5 cde cde cdefg
2 なし cdefg cdefg cdefg
-2 なし fg abcdefg abcdefg

第2引数を省略すると最後まで取り出します。
第1引数を負の数にするとsliceの場合だけ末尾から取り出します。これが便利です。

sliceは文字列に対するメソッドだけでなく、配列に対するメソッドでもあります。
文字列でも配列でも同じように動作するので、まずsliceを覚えれば充分です。

詳しく見てみます。
「t="abcdefg"」としてsliceを適用する場合です。

a b c d e f g
0 1 2 3 4 5 6
-7 -6 -5 -4 -3 -2 -1

t.slice(2,6)→「cdef」
t.slice(2,-1)→「cdef」
t.slice(-5,6)→「cdef」
t.slice(-5,-1)→「cdef」

引数を変えてみましたが、結果は同じになります。
マイナスの場合も、引数に「最初の位置」と「最後の位置の右隣」をセットすればよいことが分かります。

t.slice(3)→「defg」
t.slice(-4)→「defg」

第2引数を省略する場合も同じです。

[ 2013年7月17日 | カテゴリー: JavaScript | タグ: , , ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報