実行環境 Node.js 15.2.1

公開日 2021年2月19日 JST

更新日 2021年2月20日 JST

コード例の出力としてconsole.logを使用しています。

使用方法がわからない場合は以下のページを参照してからコード例を確認してください。

console.logの使用方法

このページはArrayオブジェクト(配列)のincludesメソッド解説ページです。
Stringオブジェクト(文字列)のincludesメソッドはこちらのページ で解説しています。

includes(Array、配列)

このページでは豊富な例を用いてJavaScript(js)のArrayオブジェクト(配列)のincludesメソッドの使い方を学ぶことができます。

JavaScript(js)のincludesメソッドはArrayオブジェクト(配列)のメソッドの1つです。

includesメソッドの「第1引数で与えた値」が「呼び出し元の配列」に含まれていればtrue、そうでなければfalseを返り値として返します。

第2引数を与えることで検索を開始するインデックスを指定することもできます。

// 記述例

array.includes(検索する値, 検索を始める配列内のインデックス)

TL;DR

基本

// 呼び出し元の配列に引数で与えた値があればtrueを返す
const array1 = [0, 1, 2];
const returnValue1 = array1.includes(0);
console.log(returnValue1);
==> true
// 返り値はboolean型
console.log(typeof returnValue1);
==> boolean





// 引数で与えた値が配列に含まれていない場合はfalse
const array2 = [0, 1, 2];
const returnValue2 = array2.includes(100);
console.log(returnValue2);
==> false





// 空配列の場合
const array3 = [];
console.log(array3.includes('javascript'));
==> false





// 大文字と小文字を区別する
const array4 = ['js', 'javascript'];
console.log(array4.includes('JavaScript'));
==> false
console.log(array4.includes('javascript'));
==> true

関連情報:typeof演算子の使用方法

検索を開始するインデックスの指定

// 第2引数で検索を始めるインデックスを指定できる
const array1 = ['js', 'javascript', 'Node'];
const returnValue1 = array1.includes('javascript', 2);
console.log(returnValue1);
==> false

// インデックスが1から検索すればtrueとなる
const array2 = ['js', 'javascript', 'Node'];
const returnValue2 = array2.includes('javascript', 1);
console.log(returnValue2);
==> true





// 第2引数の値が配列の長さ以上の場合
const array3 = [100, 200];
const returnValue3 = array3.includes(200, 2);
console.log(returnValue3);
==> false





// 第2引数がマイナスの場合は「第2引数 + 配列の長さ」の位置から検索されます
const array4 = [0, 1, 2, 3, 4];
const returnValue4 = array4.includes(3, -2);
console.log(returnValue4);
==> true
console.log(array4.includes(3, -1));
==> false
console.log(array4.includes(3, -100));
==> true

解説

// 記述例

array.includes(検索する値, 検索を始める配列内のインデックス)

基本

includesメソッドは引数で与えた値が呼び出し元の配列に存在・含まれる場合にtrue、存在しない場合にはfalseを返り値として返します。 この返り値はboolean型(真偽値)です。

空配列に対して呼び出した場合はfalseが返ります。

返り値がboolean型であるため、配列に特定の値が含まれているかどうかの存在チェックに使用されます。

// 含まれる場合
const array1 = ['js', 'javascript', 'ts'];
const returnValue1 = array1.includes('javascript');
console.log(returnValue1);
==> true
// 返り値はboolean型
console.log(typeof returnValue1);
==> boolean





// 含まれない場合
const array2 = ['js', 'javascript', 'ts'];
console.log(array2.includes('node'));
==> false





// 空配列
const array3 = [];
console.log(array3.includes(100));
==> false





// 大文字と小文字を区別する
const array4 = ['A', 'B', 'C'];
console.log(array4.includes('a'));
==> false
console.log(array4.includes('A'));
==> true

関連情報:typeof演算子の使用方法

検索を開始するインデックスの指定

includesメソッドに第2引数を与えると、「第1引数で与えた値」を検索し始める配列のインデックスを指定することができます。
この第2引数の指定は任意で、デフォルト値は0(配列の先頭のインデックス値)です。

第2引数に0以上の整数を指定した場合、指定した値のインデックス位置から検索を始めた存在チェックの結果が返されます。
負の整数を指定した場合、「第2引数の値 + 配列の長さ」のインデックス位置から検索が始まります。 「第2引数の値 + 配列の長さ」の結果が負(マイナス)の場合、0が指定された場合と同様の挙動となります。

const array1 = [100, 200, 300];
const returnValue1 = array1.includes(200, 2);
console.log(returnValue1);
==> false
console.log(array1.includes(200, 1));
==> true





// 配列の長さ以上の値を指定した場合
const array2 = [100, 200, 300];
console.log(array2.includes(300, 3));
==> false
console.log(array2.includes(300, 10));
==> false





// 負の値を指定した場合
const array3 = [100, 200, 300];
console.log(array3.includes(100, -1));
==> false
console.log(array3.includes(100, -3));
==> true
console.log(array3.includes(100, -100));
==> true

1次情報

Array.prototype.includes() - MDN web docs