Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Cách dùng for...in duyệt mảng trong JavaScript

for...in duyệt KEY (property name)

Với array, key là index dạng string: "0", "1", "2"... Bao gồm cả custom property.

Ví dụ

<script>
var items = ['Hello', 'World'];
items.custom = "extra";

for (var i in items) {
  document.write("Key: " + i + ", Value: " + items[i] + "<br>");
}
// Key: 0, Value: Hello
// Key: 1, Value: World
// Key: custom, Value: extra
</script>

⚠️ VẤN ĐỀ VỚI ARRAY

  • Thứ tự không đảm bảo (tùy engine).
  • Duyệt cả prototype properties (nếu có).
  • Key là string – so sánh số thất bại: i === 0 false (vì "0" !== 0).
  • Chậm hơn for/for...of.

Cách đúng duyệt Array

CáchCodeƯu điểm
for...of (ES6)for (const v of arr)Giá trị trực tiếp, thứ tự đúng, hỗ trợ break/continue
for truyền thốngfor (let i=0; iCó index, kiểm soát bước nhảy
forEacharr.forEach((v,i)=>{})Ngắn, functional (không break)
map/filter/reducearr.map(...)Biến đổi, lọc, tính toán

Khi nào dùng for...in

Chỉ cho plain object (duyệt own properties):

for (const key in obj) {
  if (Object.hasOwn(obj, key)) { // ES2022
    console.log(key, obj[key]);
  }
}