Array.prototype.keys()
试一试
语法
js
keys()
参数
无。
返回值
一个新的 可迭代迭代器对象。
描述
示例
在稀疏数组上使用 keys()
与 Object.keys()
不同,后者仅包含数组中实际存在的键,keys()
迭代器不会忽略表示缺少属性的空洞。
js
const arr = ["a", , "c"];
const sparseKeys = Object.keys(arr);
const denseKeys = [...arr.keys()];
console.log(sparseKeys); // ['0', '2']
console.log(denseKeys); // [0, 1, 2]
在非数组对象上调用 keys()
keys()
方法读取 this
的 length
属性,然后生成 0 到 length - 1
之间的所有整数索引。不会实际发生索引访问。
js
const arrayLike = {
length: 3,
};
for (const entry of Array.prototype.keys.call(arrayLike)) {
console.log(entry);
}
// 0
// 1
// 2
规范
规范 |
---|
ECMAScript 语言规范 # sec-array.prototype.keys |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。