【JavaScript】includesメソッドとindexOfメソッドの違い
includesもindexOfも部分一致を判定するために使えるメソッド。
・includesは直感的にtrue/falseで返す
・indexOfは存在する場合は配列の位置を、存在しない場合は-1を返す
includes
includes(検索対象の値)
または
includes(検索対象の値,配列の開始位置)
で調査し、結果をtrue または falseで返す。
let arr = [1, 2, 3, 4, 5];
console.log(arr.includes(1));//true
console.log(arr.includes(6));//false
includes(検索対象の値,配列の開始位置)の場合
console.log(arr.includes(1,0));//true
console.log(arr.includes(2,2));//false
文字列の場合
let arr = ["a","ab","abc"];
console.log(arr.includes("a"));//true
console.log(arr.includes("abc"));//true
console.log(arr.includes("abcd"));//false
indexOf
indexOf(検索対象の文字列)で調査し、存在する場合は要素の位置を返す。
存在しない場合は-1を返す。
let arr = [1, 2, 3, 4, 5];
console.log(arr.indexOf(1));//0
console.log(arr.indexOf(2));//1
console.log(arr.indexOf(6));//-1
文字列の場合
let arr = ["a","ab","abc"];
console.log(arr.indexOf("a"));//0
console.log(arr.indexOf("abc"));//2
console.log(arr.indexOf("abcd"));//-1
RPGツクールMVの応用
変数の中に文字列を格納している場合、文字列が含まれるかを判定できる。
$gameVariables.value(変数番号).includes("検索対象の文字列")
変数1番にテストが含まれているか確認する場合
条件分岐-スクリプトに入れてあげる
$gameVariables.value(1).include("テスト")