keys() メソッドは、配列の各インデックスのキーを含む新しい Arrayイテレーター オブジェクトを返します。

構文

arr.keys()

戻り値

新規の Array イテレーターオブジェクト。

基本的な使い方

// 訳注: このサンプルは keys() の本質を解説していますが「基本的な使い方」と言うほど一般的ではないかもしれません。
//     通常は Array.from()for...of と組み合わせて使うことが多いでしょう。

var arr = ["a", "b", "c"];
var iterator = arr.keys();

console.log(iterator.next()); // { value: 0, done: false }
console.log(iterator.next()); // { value: 1, done: false }
console.log(iterator.next()); // { value: 2, done: false }
console.log(iterator.next()); // { value: undefined, done: true }

キーイテレータは抜けを無視しない

var arr = ["a", , "c"];
var sparseKeys = Object.keys(arr);
var denseKeys = [...arr.keys()];
console.log(sparseKeys); // ['0', '2']
console.log(denseKeys);  // [0, 1, 2]

仕様

仕様 状況 コメント
ECMAScript 2015 (6th Edition, ECMA-262)
Array.prototype.keys の定義
標準 Initial definition.
ECMAScript Latest Draft (ECMA-262)
Array.prototype.keys の定義
ドラフト  

ブラウザ実装状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung InternetNode.js
基本対応Chrome 完全対応 38Edge 完全対応 ありFirefox 完全対応 28IE 未対応 なしOpera 完全対応 25Safari 完全対応 8WebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 28Opera Android 完全対応 ありSafari iOS 完全対応 8Samsung Internet Android 完全対応 ありnodejs 完全対応 0.12

凡例

完全対応  
完全対応
未対応  
未対応

関連情報

ドキュメントのタグと貢献者

このページの貢献者: woodmix, Marsf, shide55
最終更新者: woodmix,