slic…"> JavaScriptで文字列・配列を切り出し(slice・substr) | BLOG|ホームページ制作 Brick Plan【ブリックプラン】

2021.01.04

JavaScript

JavaScriptで文字列・配列を切り出し(slice・substr)

デモページはこちら

JavaScriptで文字列または配列を切り出すメソッドのまとめです。sliceは文字列と配列、substrは文字列の切り出しができます。

以下のhtmlの構造でテストします。

<p class="title">slice・substr</p>
<p class="txt">HTML・CSS・JavaScript</p>
<input type="button" class="btn01" value="slice(終了位置指定なし)">
<input type="button" class="btn02" value="substr(終了位置指定なし)"><br><br>
<input type="button" class="btn03" value="slice(終了位置指定あり)">
<input type="button" class="btn04" value="substr(終了位置指定あり)"><br><br>
<p class="title">slice</p>
<ul>
	<li>HTML・CSS</li>
	<li>JavaScript・jQuery</li>
	<li>Photoshop・Illustrator・XD</li>
	<li>ツール・フリーソフト・その他</li>
</ul>
<input type="button" class="btn05" value="slice(終了位置指定なし)">
<input type="button" class="btn06" value="slice(終了位置指定あり)"><br><br>
<input type="button" class="btn07" value="substr(エラー発生)"><br><br>
<input type="button" class="btn08" value="リロードしてリセット">

まず文字列の切り出しです。slice・substrの両メソッドは第1引数に切り出したい文字列の開始位置を指定します。文字列の先頭は0です。第2引数を省略した場合は文字列の末尾まで切り出すため、result01とresult02は同じ結果になります。
次に第2引数を指定する場合ですが、sliceメソッドの第2引数は切り出す文字列の終了位置、substrメソッドは切り出す文字数になります。sliceメソッドの終了位置は文字列の先頭から数えた位置ですが、終了位置に指定した文字は切り出しません。終了位置に指定した文字の手前の文字までが切り出しの対象です。substrメソッドの切り出す文字数は1から数えます。result03とresult04の結果は同じですが、第2引数はそれぞれ異なる指定になります。
最後に配列の切り出しです。sliceメソッドで開始位置と終了位置をliタグのインデックス番号で指定して、指定した範囲のCSSを変更します。終了位置を指定する場合、文字列の切り出しと同様終了位置に指定した要素は含まれません。substrメソッドは文字列を切り出すメソッドのため配列で使用するとエラーが発生します。

$(function() {
	var txt = $('.txt').text();
	$('.btn01').on('click', function() {
		var result01 = txt.slice(5);
		console.log(result01);
	});
	$('.btn02').on('click', function() {
		var result02 = txt.substr(5);
		console.log(result02);
	});
	$('.btn03').on('click', function() {
		var result03 = txt.slice(5, 8);
		console.log(result03);
	});
	$('.btn04').on('click', function() {
		var result04 = txt.substr(5, 3);
		console.log(result04);
	});
	$('.btn05').on('click', function() {
		$('ul').children().slice(1).css('font-weight', 'bold');
	});
	$('.btn06').on('click', function() {
		$('ul').children().slice(0, 2).css('color', 'orange');
	});
	$('.btn07').on('click', function() {
		$('ul').children().substr(0, 1).css('color', 'red'); //エラー発生
	});
	$('.btn08').on('click', function() {
		location.reload();
	});
});

//result01
CSS・JavaScript
//result02
CSS・JavaScript
//result03
CSS
//result04
CSS

関連記事

2020.10.23

JavaScript

JavaScriptのreplaceメソッドで文字列を置換

デモページはこちら JavaScriptのreplaceメソッドで文字列を置換します。空文字に置換することで対象文字列の削除も可能です。また全ての対象文字列の置…

2025.08.10

JavaScript

swiper自動再生の一時停止と再開

デモページはこちら swiper.jsでスライドを自動再生させ、ボタンのクリックで一時停止と再開を切り替えます。htmlのコードは以下の通りです。 JavaSc…

2020.09.07

JavaScript

JavaScriptライブラリ imagesLoaded(imagesloaded.pkgd.js)の使い方

デモページはこちら 画像読み込みの管理ができるJavaScriptライブラリ、imagesLoaded(imagesloaded.pkgd.js)の使い方です。…

2020.10.26

JavaScript

JavaScriptのsplitメソッドで要素を分割し配列に格納

デモページはこちら JavaScriptのsplitメソッドで要素を分割し配列に格納します。 以下のhtmlの構造でテストします。 splitメソッドは指定した…

2020.10.16

JavaScript

swiper.jsのオプションbreakpointsで表示スライド数を切り替え

デモページはこちら swiper.jsのオプションbreakpointsで表示スライド数を切り替えます。 htmlのコードは以下の通りです。クラス名swiper…

上に戻る