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 โจ2015ๅนด7ๆโฉ.
keys()
ๆนๆณ่ฟๅไธไธชๆฐ็ๆฐ็ป่ฟญไปฃๅจๅฏน่ฑก๏ผๅ
ถไธญๅ
ๅซๆฐ็ปไธญๆฏไธช็ดขๅผ็้ฎใ
ๅฐ่ฏไธไธ
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: 2
่ฏญๆณ
keys()
่ฟๅๅผ
ไธไธชๆฐ็ๅฏ่ฟญไปฃ่ฟญไปฃๅจๅฏน่ฑกใ
ๆ่ฟฐ
ๅฝ็จไบ็จ็ๆฐ็ปๆถ๏ผkeys()
ๆนๆณ่ฟญไปฃ็ฉบๆงฝ๏ผๅฐฑๅๅฎไปฌ็ๅผไธบ undefined
ไธๆ ทใ
keys()
ๆนๆณๆฏ้็จ็ใๅฎๅชๆๆ this
ๅผๅ
ทๆ length
ๅฑๆงๅๆดๆฐ้ฎๅฑๆงใ
็คบไพ
ๅจ็จ็ๆฐ็ปไธญไฝฟ็จ keys()
ไธ Object.keys()
ๅชๅ
ๅซๆฐ็ปไธญๅฎ้
ๅญๅจ็้ฎไธๅ๏ผkeys()
่ฟญไปฃๅจไธไผๅฟฝ็ฅ็ผบๅคฑๅฑๆง็้ฎใ
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
ไน้ด็ๆๆๆดๆฐ็ดขๅผใๅฎ้
ๅนถไธไผ่ฎฟ้ฎ็ดขๅผใ
const arrayLike = {
length: 3,
};
for (const entry of Array.prototype.keys.call(arrayLike)) {
console.log(entry);
}
// 0
// 1
// 2
่ง่
Specification |
---|
ECMAScriptยฎ 2026 Language Specification # sec-array.prototype.keys |
ๆต่งๅจๅ ผๅฎนๆง
Loadingโฆ