สำหรับวัตถุส่วนใหญ่ให้ใช้for .. in:
for (let key in yourobject) {
console.log(key, yourobject[key]);
}
ด้วย ES6 หากคุณต้องการทั้งคีย์และค่าพร้อมกันให้ทำ
for (let [key, value] of Object.entries(yourobject)) {
console.log(key, value);
}
เพื่อหลีกเลี่ยงการบันทึกคุณสมบัติที่สืบทอดให้ตรวจสอบกับhasOwnProperty :
for (let key in yourobject) {
if (yourobject.hasOwnProperty(key)) {
console.log(key, yourobject[key]);
}
}
คุณไม่จำเป็นต้องตรวจสอบhasOwnPropertyเมื่อทำการวนกุญแจถ้าคุณใช้วัตถุอย่างง่าย (ตัวอย่างเช่นคุณทำด้วยตัวเอง{})
เอกสาร MDN นี้อธิบายเพิ่มเติมโดยทั่วไปเกี่ยวกับวิธีจัดการกับวัตถุและคุณสมบัติ
หากคุณต้องการที่จะทำ "ในชิ้น" ที่ดีที่สุดคือการแยกกุญแจในอาร์เรย์ เนื่องจากไม่รับประกันการสั่งซื้อนี่เป็นวิธีที่เหมาะสม ในเบราว์เซอร์สมัยใหม่คุณสามารถใช้
let keys = Object.keys(yourobject);
เพื่อให้เข้ากันได้มากขึ้นคุณควรทำสิ่งนี้:
let keys = [];
for (let key in yourobject) {
if (yourobject.hasOwnProperty(key)) keys.push(key);
}
จากนั้นคุณสามารถทำซ้ำคุณสมบัติของคุณตามดัชนีyourobject[keys[i]]::
for (let i=300; i < keys.length && i < 600; i++) {
console.log(keys[i], yourobject[keys[i]]);
}