Sample Video Frame
18: More Arrays
In this exercise you are going to practice accessing different parts of very complicated Arrays
. It's important that you can correctly understand how an index into a nested Array
will work. The best way to do that is to drill using such an Array
in the node shell.
How this works is I have a series of Arrays
in the code below. You are to type this code in like normal, and then require it in the node shell so you can interact with it. Once you have that working you will have to figure out what to type to get the answers I get.
The Code
exports.fruit = [
['Apples', 12, 'AAA'], ['Oranges', 1, 'B'],
['Pears', 2, 'A'], ['Grapes', 14, 'UR']];
exports.cars = [
['Cadillac', ['Black', 'Big', 34500]],
['Corvette', ['Red', 'Little', 1000000]],
['Ford', ['Blue', 'Medium', 1234]],
['BMW', ['White', 'Baby', 7890]]
];
exports.languages = [
['Python', ['Slow', ['Terrible', 'Mush']]],
['JavaSCript', ['Moderate', ['Alright', 'Bizarre']]],
['Perl6', ['Moderate', ['Fun', 'Weird']]],
['C', ['Fast', ['Annoying', 'Dangerous']]],
['Forth', ['Fast', ['Fun', 'Difficult']]],
];
What You Should See
If you wrote your code correctly, then your node
shell session should look something like this:
> let ex18 = require('./ex18')
undefined
> ex18.fruit
[ [ 'Apples', 12, 'AAA' ],
[ 'Oranges', 1, 'B' ],
[ 'Pears', 2, 'A' ],
[ 'Grapes', 14, 'UR' ] ]
>
Remember that './ex18'
would be a file named ex18.js
. In my book's code repository I have it as ex18-more-arrays/code.js
so if you see me work in the video you'll see a slightly different input but the same results.
The Challenge
I will give you an Array
name and a piece of data in the Array
. Your job is to figure out what indexing you need to get that information. For example, if I tell you fruit 'AAA'
then your answer is fruit[0][2]
. You should attempt to do this in your head by looking at the code, then test your guess in the node
shell.
fruit challenge
You need to get all of these elements out of the fruit
variable:
- 12
- 'AAA'
- 2
- 'Oranges'
- 'Grapes'
- 14
- 'Apples'
cars challenge
You need to get all of these elements out of the cars
variable:
- 'Big'
- 'Red'
- 1234
- 'White'
- 7890
- 'Black'
- 34500
- 'Blue'
languages challenge
You need to get all of these elements out of the languages
variable:
- 'Slow'
- 'Alright'
- 'Dangerous'
- 'Fast'
- 'Difficult'
- 'Fun'
- 'Annoying'
- 'Weird'
- 'Moderate'
Final Challenge
You now have to figure out what this code spells out:
cars[1][1][1]
cars[1][1][0]
cars[1][0]
cars[3][1][1]
fruit[3][2]
languages[0][1][1][1]
fruit[2][1]
languages[3][1][0]
Don't attempt to run this in node
first. Instead, try to work out manually what each line will spell out.
Learn JavaScript Today
Register today for the Early Access course and get the all currently available videos and lessons, plus all future modules for no extra charge.
Still Not Sure? Try the next FREE Lesson!