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 July 2015.
Phương thức keys() của các đối tượng Array trả về một đối tượng array iterator mới chứa các khóa (key) cho mỗi chỉ mục trong mảng.
Try it
const array = ["a", "b", "c"];
const iterator = array.keys();
for (const key of iterator) {
console.log(key);
}
// Expected output: 0
// Expected output: 1
// Expected output: 2
Cú pháp
keys()
Tham số
Không có.
Giá trị trả về
Một đối tượng iterator có thể lặp mới.
Mô tả
Khi dùng trên mảng thưa, phương thức keys() lặp qua các ô trống như thể chúng có giá trị undefined.
Phương thức keys() là phương thức tổng quát. Nó chỉ yêu cầu giá trị this có thuộc tính length và các thuộc tính có khóa là số nguyên.
Ví dụ
>Sử dụng keys() trên mảng thưa
Không giống Object.keys(), chỉ bao gồm các khóa thực sự tồn tại trong mảng, iterator keys() không bỏ qua các lỗ hổng đại diện cho các thuộc tính bị thiếu.
const arr = ["a", , "c"];
const sparseKeys = Object.keys(arr);
const denseKeys = [...arr.keys()];
console.log(sparseKeys); // ['0', '2']
console.log(denseKeys); // [0, 1, 2]
Gọi keys() trên đối tượng không phải mảng
Phương thức keys() đọc thuộc tính length của this và sau đó sinh ra tất cả các chỉ mục nguyên nằm trong khoảng từ 0 đến length - 1. Không có truy cập chỉ mục thực sự nào xảy ra.
const arrayLike = {
length: 3,
};
for (const entry of Array.prototype.keys.call(arrayLike)) {
console.log(entry);
}
// 0
// 1
// 2
Thông số kỹ thuật
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-array.prototype.keys> |