Javascript · Arrays (Basics)
The length Property
The full text of this chapter, to read or revisit. To practise, do the exercises.
▶ Do the exercisesExercise 1 — How Many Elements?
You already know `.length` for strings: it counts characters. Arrays have it too, and it counts elements:
const team = ["Aquachu", "Pyrochu", "Florachu"];
console.log(team.length);
Note that `length` is a property, not a method: no parentheses after it. Writing `team.length()` would throw an error.
An empty array has a length of 0, and the count doesn't depend on what the elements contain:
const bag = [];
const moves = ["Spark", "Thunder", "Charge", "Zap Cannon"];
console.log(bag.length);
console.log(moves.length);
Exercise 2 — The Last Element
Indexes start at 0, so the last index is always one less than the length. With 3 elements, the last index is 2.
const team = ["Aquachu", "Pyrochu", "Florachu"];
console.log(team[team.length - 1]);
This pattern works whatever the size of the array, which is exactly why it's so useful. Without the `- 1`, you'd land one step too far:
const team = ["Aquachu", "Pyrochu", "Florachu"];
console.log(team[team.length]);
Exercise 3 — Quiz: Count Them
What does this code print?
const items = ["Potion", "Potion, Elixir", "Map"];
console.log(items.length);
Options
• ```3```
• ```4```
• ```2```
• ```1```
Hint : Commas inside quotes are part of a string, not separators between elements.
Exercise 4 — Last One Standing
Print the last Codémon of the team, whatever its size.
const team = ["Rockachu", "Zap", "Metachu", "Aquachu"];
console.log(team[team.____ ____ 1]);
Options: length - + size count
Hint : The last index is not equal to the number of elements: think about which direction the gap goes.
Exercise 5 — length in Conditions
Since `length` is a number, you can compare it. A classic: check whether an array is empty before using it.
const bag = [];
if (bag.length === 0) {
console.log("Your bag is empty!");
} else {
console.log("You have " + bag.length + " items");
}
Or check a limit, like a team that can't have more than 6 Codémon:
const team = ["Aquachu", "Pyrochu", "Florachu", "Zap", "Metachu", "Rockachu"];
if (team.length >= 6) {
console.log("Team is full!");
} else {
console.log("Room for " + (6 - team.length) + " more");
}
Exercise 6 — Quiz: length as an Index
What does this code print?
const levels = [4, 8, 15];
console.log(levels[levels.length]);
Options
• ```undefined```
• ```15```
• ```3```
• ```8```
Hint : Turn the expression inside the brackets into a plain number, then check whether that index exists.
Exercise 7 — Room Left?
Print `Room left` only if the team has fewer than 6 members.
const team = ["Aquachu", "Pyrochu", "Zap"];
if (team.____ ____ 6) {
console.log("Room left");
} else {
console.log("Team is full");
}
Options: length < > === size
Hint : Translate the condition word for word from the instructions.
Exercise 8 — length Cheat Sheet
Match each expression with its result.
Items to match
• [].length
• ["a", "b", "c"].length
• arr[arr.length - 1]
• arr[arr.length]
Definitions
• 0
• 3
• The last element
• undefined
Exercise 9 — Quiz: Property or Method?
Which line correctly prints the number of elements in `team`?
Options
• ```console.log(team.length);```
• ```console.log(team.length());```
• ```console.log(length(team));```
• ```console.log(team.size);```
Hint : Think about what kind of thing length is: something you call, or something you read?
Exercise 10 — Bag Check
Inspect the bag:
1. Print `"Items: N"` where N is the number of items
2. Print `"First: X"` and `"Last: Y"` with the first and last items
3. If the bag has more than 5 items, print `"Bag is heavy!"`, otherwise `"Bag is light"`
Your code must keep working if items are added to the bag.
Starter code
const bag = ["Potion", "Map", "Elixir", "Rope", "Torch", "Berry"];
// Write your code here
Back to the course