文字列の前方一致をJavascriptのindexOf()とstartswith()にを使ってで調べる方法について書きます。
indexOf()
従来の方法。
let str = ‘Hello everyone’;
let front = ‘Hello’;
let boo = false;
if(str.indexOf(front) === 0){
boo = true;
}
console.log(boo);
indexOf()の機能
前方一致でindexOf()を利用しましたが、indexOf()は一致した文字列のindex(インデックス/指数)を返します。
//indecOf
let str2 = ‘Hello everyone’;
let middle = ‘every’;
let num = str2.indexOf(middle);
console.log(num); //6
上記の例では6を返しています。
文字は0からカウントしていきHello(5文字) + スペース(1文字) + 一致したポイント で6となります。
startsWith()
SE2015(ES6)から使えるようになった機能です。
//startsWith
let str = ‘月火水木金土日’;
console.log(str.startsWith(‘月’)); // true
console.log(str.startsWith(‘火’)); // false
console.log(str.startsWith(‘水’, 2)); // true
startsWith(‘水’, 2)のように起点を(e.g. 0 → 2 へ)変更することが可能です。