このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
Array.prototype.includes()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2016年8月.
includes() はArray インスタンスのメソッドで、特定の要素が配列に含まれているかどうかをtrue またはfalse で返します。
In this article
試してみましょう
const array = [1, 2, 3];console.log(array.includes(2));// 予想される結果: trueconst pets = ["cat", "dog", "bat"];console.log(pets.includes("cat"));// 予想される結果: trueconsole.log(pets.includes("at"));// 予想される結果: false構文
includes(searchElement)includes(searchElement, fromIndex)引数
searchElement検索する値です。
fromIndex省略可検索し始める位置のゼロから始まるインデックスで、整数に変換されます。
- インデックスが負の場合、配列の末尾からさかのぼって数えます。
-array.length <= fromIndex < 0の場合、fromIndex + array.lengthが使用されます。ただし、この場合でも配列は前から後ろに向けて検索されます。 fromIndex < -array.lengthまたはfromIndexが省略された場合は0が使用され、配列全体に対して検索が行われます。fromIndex >= array.lengthの場合、配列の検索は行われず、falseが返されます。
- インデックスが負の場合、配列の末尾からさかのぼって数えます。
返値
論理値で、searchElement の値が配列内(fromIndex が指定されていた場合は、配列のその位置以降の部分)にあった場合はtrue を返します。
解説
includes() はsearchElement をSameValueZero アルゴリズムを使用して比較します。ゼロの値は符号に関わらず、すべて等しい(すなわち、-0 は0 と等しい)とみなされますが、false は0 と同じとはみなされません。NaN は正しく検索することができます。
疎配列で使用する場合、includes() メソッドは空のスロットをundefined という値があるかのように反復処理します。
includes() メソッドは汎用的です。これはthis 値にlength プロパティと整数キーのプロパティがあることだけを期待します。
例
>includes() の使用
[1, 2, 3].includes(2); // true[1, 2, 3].includes(4); // false[1, 2, 3].includes(3, 3); // false[1, 2, 3].includes(3, -1); // true[1, 2, NaN].includes(NaN); // true["1", "2", "3"].includes(3); // falsefromIndex が配列の長さと同じか大きい場合
fromIndex が配列の長さと同じか大きい場合は、配列を検索せずにfalse を返します。
const arr = ["a", "b", "c"];arr.includes("c", 3); // falsearr.includes("c", 100); // false計算された位置が 0 より小さい場合
fromIndex が負の値である場合、searchElement の検索を開始するための配列内の位置として、計算により位置が算出されます。計算された位置が0 以下の場合は、配列全体が検索されます。
// 配列の長さは 3// fromIndex は -100// 補正されたインデックスは 3 + (-100) = -97const arr = ["a", "b", "c"];arr.includes("a", -100); // truearr.includes("b", -100); // truearr.includes("c", -100); // truearr.includes("a", -2); // false疎配列に対する includes() の使用
疎配列でundefined を検索してtrue を取得することができます。
console.log([1, , 3].includes(undefined)); // true配列でないオブジェクトに対する includes() の呼び出し
includes() メソッドはthis のlength プロパティを読み込み、次にキーがlength より小さい非負の整数であるそれぞれのプロパティにアクセスします。
const arrayLike = { length: 3, 0: 2, 1: 3, 2: 4, 3: 1, // length が 3 なので includes() からは無視される};console.log(Array.prototype.includes.call(arrayLike, 2));// trueconsole.log(Array.prototype.includes.call(arrayLike, 1));// false仕様書
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-array.prototype.includes> |