【JSリファレンス】Array.prototype.includes()

更新日:2024/06/14

初出:ECMAScript2016


Array.prototype.includes()は、Arrayオブジェクト(Arrayコンストラクターのインスタンス)プロトタイプチェーンに組み込まれるメソッドです。
指定された値が配列内に含まれる場合 true を返します。

同じ数字の数値と数値文字列は区別されます。

欠番インデックスはundefinedとして扱われます。つまり、検索対象を undefined としたとき、欠番インデックスと一致します。

 

■構文

Array.prototype.includes ( searchElement [ , fromIndex ] )
  1. searchElement: 検索する値
  2. fromIndex: 省略可能。規定値 0
    検索を開始するインデックス
指定された値が配列内に含まれるなら true。
それ以外は false

NaNは、NaN同士を同値比較するとfalseになる特殊な値です。
そのため、配列内の要素とNaNを単純に比較すると常に false になります。
ですが、Array.prototype.includes()は配列内に NaN が含まれているかどうかを判定できる仕組みで動作しています。

 

■使用例

const array = [1,2,NaN,""];
console.log( array.includes( 1 ) ); // true
console.log( array.includes( NaN ) ); // true

 

■備考

call()等でアレイライクオブジェクトを対象にすることも可能です。

const arrayLike = {0:1,1:2,2:NaN,length:3};
console.log( 
  Array.prototype.includes.call( arrayLike , 1 ) // true
  );
console.log( 
  Array.prototype.includes.call( arrayLike , NaN ) // true
  );

更新日:2024/06/14

書いた人(管理人):けーちゃん

スポンサーリンク

記事の内容について

null

こんにちはけーちゃんです。
説明するのって難しいですね。

「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。

裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。

掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。

ご意見、ご指摘はこちら。
https://jsref.affi-sapo-sv.com/info.php

 

このサイトは、リンクフリーです。大歓迎です。