このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
Array.prototype.entries()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
entries() はArray インスタンスのメソッドで、配列内の各要素に対するキー/値のペアを含む新しい配列イテレーターオブジェクトを返します。
In this article
試してみましょう
const array = ["a", "b", "c"];const iterator = array.entries();console.log(iterator.next().value);// 予想される結果: Array [0, "a"]console.log(iterator.next().value);// 予想される結果: Array [1, "b"]構文
js
entries()引数
なし。
返値
新しい反復可能イテレーターオブジェクトです。
解説
疎配列で使用された場合、entries() メソッドは空のスロットをundefined の値が設定されているかのように反復処理します。
entries() メソッドは汎用的です。このメソッドはthis の値にlength プロパティと整数のキーを持ったプロパティがあることだけを求めます。
例
>インデックスと要素の反復処理
js
const a = ["a", "b", "c"];for (const [index, element] of a.entries()) { console.log(index, element);}// 0 'a'// 1 'b'// 2 'c'for...of ループの使用
js
const array = ["a", "b", "c"];const arrayEntries = array.entries();for (const element of arrayEntries) { console.log(element);}// [0, 'a']// [1, 'b']// [2, 'c']疎配列を反復処理
entries() は空のスロットをundefined であるかのように処理します。
js
for (const element of [, "a"].entries()) { console.log(element);}// [0, undefined]// [1, 'a']配列でないオブジェクトに対する entries() の呼び出し
entries() メソッドはthis のlength プロパティを読み込み、そのキーがlength よりも小さい非負の整数である各プロパティにアクセスします。
js
const arrayLike = { length: 3, 0: "a", 1: "b", 2: "c", 3: "d", // length が 3 なので entries() からは無視される};for (const entry of Array.prototype.entries.call(arrayLike)) { console.log(entry);}// [ 0, 'a' ]// [ 1, 'b' ]// [ 2, 'c' ]仕様書
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-array.prototype.entries> |