Loop Through an Array
for loop
The standard for
loop can be used to iterate over array items. If item index value is needed in the loop body, then you can iterate over the indices:
let dates = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
for (let i = 0; i < dates.length; i++) {
console.log(i + ': ' + dates[i] );
}
Console results:
0: Sun
1: Mon
2: Tue
3: Wed
4: Thu
5: Fri
6: Sat
for ... in ...
Another way to loop through array is to use for index in array
:
for (let i in dates) {
console.log(i + ': ' + dates[i] );
}
This loop gives the same results as the standard for loop, but the code is a bit simpler.
for ... of...
If you don't need the index of each item, then the preferred way is to use another form of for
loop: for item of array
. This form produces even simpler and cleaner code:
let fruits = ["Apple", "Orange", "Banana"];
// iterates over array elements
for (let f of fruits) {
console.log(f);
}
Console results:
Apple
Orange
Banana
Simple algorithms using for loop
With for loop we can implement a few very useful algorithms:
- Get the sum of all numbers in a list.
- Find the maximum/minimum item.
Get sum of all numbers
The following code calculates the sum of all numbers in an array.
let numbers = [1, 2, 3, 4, 5];
let sum = 0;
for (let n of numbers) {
sum += n;
}
console.log(sum);
Question: can you calculate the product of all numbers?
Find the maximum number in an array
The code to find the largest number in a list is very similar:
let numbers = [9, 4, 20, 5, 17];
let max = Number.MIN_VALUE; // This is the smallest number in JavaScript
for (let n of numbers) {
if (n > max) {
max = n;
}
}
console.log(max);
Using Number.MIN_VALUE
as the initial value guarantees that no item in the array can be smaller than this initial value.
Question: What can go wrong if 0
is used as initial value?
Find the minimum number in an array
Can you write the code to find the smallest number in a list?
Number.MAX_VALUE
is the largest number in JavaScript