Introduction to the JavaScript for-in Loop
The for-in
loop is a type of loop in JavaScript that allows you to iterate over the enumerable properties of an object. This loop is particularly useful when you want to access the properties of an object or the indices of an array. In this article, we will delve deep into the for-in
loop, explore various APIs connected to it, and provide code snippets for a better understanding.
Basic Syntax of the for-in Loop
for (var property in object) {
// Code to be executed
}
for-in
Loop with Arrays
While the for-in
loop is generally used for objects, it can also be used with arrays. However, it is recommended to use other array methods for better performance.
var arr = [ "apple", "banana", "cherry" ];
for (var index in arr) {
console.log(index + ": " + arr[index]);
} // Output: // 0: apple // 1: banana // 2: cherry
Using for-in
Loop with Objects
var person = {
firstName: "John",
lastName: "Doe",
age: 30
};
for (var key in person) {
console.log(key + ": " + person[key]);
} // Output: // firstName: John // lastName: Doe // age: 30
Filter Properties using for-in
Loop
var person = {
firstName: "John",
lastName: "Doe",
age: 30,
height: 175
};
for (var key in person) {
if (person[key] > 100) {
console.log(key + ": " + person[key]);
}
} // Output: // age: 30 // height: 175
Function Example using for-in
Loop
function listProperties(obj) {
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
console.log(key + ': ' + obj[key]);
}
}
}
var car = {
make: "Toyota",
model: "Camry",
year: 2020
};
listProperties(car); // Output: // make: Toyota // model: Camry // year: 2020
App Example Using for-in
Loop
Let’s create a simple application that lists all the properties and values of a user-specified object.
For-In Loop Example App
As demonstrated, the for-in
loop is a powerful tool in JavaScript that allows developers to iterate over object properties easily. Despite its utility, it’s crucial to use it appropriately, especially when dealing with arrays or inherited properties.
Hash: 3295ce4e7aca5561d8b3661871848a2bdbf9c229e577c876f397a510d0678c6d