Vòng lặp for in
trong JavaScript được sử dụng để lặp qua các thuộc tính của một đối tượng. Dưới đây là cú pháp của vòng lặp for in
:
for (key in object) {
// Khối code sẽ được thực hiện
}
Ví dụ:
const person = {fname: "John", lname: "Doe", age: 25};
let text = "";
for (let x in person) {
text += person[x];
}
Trong ví dụ này, vòng lặp for in
lặp qua các thuộc tính của đối tượng person
(là fname
, lname
, và age
). Mỗi lần lặp, biến x
sẽ chứa tên thuộc tính và chúng ta sử dụng person[x]
để truy cập giá trị tương ứng của thuộc tính đó.
Vòng lặp for in
cũng có thể được sử dụng để lặp qua các phần tử của một mảng. Tuy nhiên, lưu ý rằng khi sử dụng for in
với mảng, thứ tự của các chỉ số có thể không được bảo đảm theo thứ tự mong đợi. Do đó, nếu thứ tự là quan trọng, nên sử dụng vòng lặp for
, for of
hoặc Array.forEach()
thay vì for in
.
Dưới đây là ví dụ khác mô tả cách sử dụng vòng lặp for in
để lặp qua các phần tử của một mảng:
const numbers = [45, 4, 9, 16, 25];
let txt = "";
for (let x in numbers) {
txt += numbers[x];
}
console.log(txt);
Tuy nhiên, như đã lưu ý, khi sử dụng for in
với mảng, thứ tự của các chỉ số (x
trong trường hợp này) có thể không theo thứ tự mong đợi. Do đó, việc này có thể gây nhầm lẫn nếu bạn phụ thuộc vào thứ tự của các phần tử.
Để đảm bảo thứ tự, bạn có thể sử dụng vòng lặp for
, for of
hoặc phương thức Array.forEach()
như sau:
Sử dụng vòng lặp for
:
const numbers = [45, 4, 9, 16, 25];
let txt = "";
for (let i = 0; i < numbers.length; i++) {
txt += numbers[i];
}
console.log(txt);
Sử dụng vòng lặp for of
:
const numbers = [45, 4, 9, 16, 25];
let txt = "";
for (let number of numbers) {
txt += number;
}
console.log(txt);
Sử dụng phương thức Array.forEach()
:
const numbers = [45, 4, 9, 16, 25];
let txt = "";
numbers.forEach(function (number) {
txt += number;
});
console.log(txt);
Cả ba cách này đều đảm bảo thứ tự của các phần tử khi lặp qua mảng.