Esta página ha sido traducida del inglés por la comunidad.Aprende más y únete a la comunidad de MDN Web Docs.
Array.prototype.keys()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julio de 2015.
El métodokeys() devuelve un nuevo objetoArray Iterator que contiene las claves para cada indice en el arreglo.
In this article
Pruébalo
const array1 = ["a", "b", "c"];const iterator = array1.keys();for (const key of iterator) { console.log(key);}// Expected output: 0// Expected output: 1// Expected output: 2Sintaxis
keys()Valor de retorno
Un nuevo objeto iteradorArray.
Descripción
Cuando es usado enarreglos dispersos, el métodokeys() itera las ranuras vacias como si tuvieran el valorundefined
El métodokeys() esgenerico. Este solo espera el valor dethis que tenga un propiedadlength y propiedades con claves enteras.
Ejemplos
>Usando keys() en arreglos dispersos
A diferencia deObject.keys(), el cual únicamente incluye las claves que realmente existen en el arreglo, el iteradorkeys() no ignora los huecos que representan las propiedades faltantes.
const arr = ["a", , "c"];const sparseKeys = Object.keys(arr);const denseKeys = [...arr.keys()];console.log(sparseKeys); // ['0', '2']console.log(denseKeys); // [0, 1, 2]Llamando keys() en un objeto que no es un arreglo
El métodokeys() lee la propiedadlength dethis y luego produce todos los indices entre 0 ylength - 1. Realmente no ocurre ningún acceso al índice.
const arrayLike = { length: 3,};for (const entry of Array.prototype.keys.call(arrayLike)) { console.log(entry);}// 0// 1// 2Especificaciones
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-array.prototype.keys> |