▶ TrainingGet Pro
All tools & lessonsAll toolsAllGet the appApp
Learning departments Music, Math, Cookery, Programming and Art are open – explore →

JavaScript lesson 21: Arrays of objects

US version. US grades and US spelling. · UK version of this lesson

A list of things with details is an array of objects: [{ name: "Ava", score: 12 }, { name: "Ben", score: 7 }]. A complete 40-minute JavaScript lesson for beginners (Grades 7–8), from Unit 8: Objects. It runs right here in your browser – nothing to install.

Time
40 minutes + 20 min homework
Grade
Grades 7–8 (ages 12–13)
You need
A computer or tablet, paper and a pencil
Graded
Instantly, with explanations

For parents: how to use this lesson

You don't need to know JavaScript yourself. The lesson explains each step on screen, the way Mr Babbage, our Head of Computing, likes it: a worked example first, then a go for your child. Code questions run your child's program in the browser – graded straight away.

  1. Read what your child will learn together.
  2. Press Start the lesson below. Sit with your child for the teaching and the worked example (about 16 minutes): ask them to say what each line does.
  3. Let them do the practice on their own. When code goes wrong, the error message is a clue – let them read it out and try again before you help.
  4. Finish with the talk question: What real data could you store as an array of objects?

Watch out for

  • players.score gives the scores. The array has no score; each object does.
  • Keep only the best score. Keep the whole object so you still have the name.

Miss Lovelace's tip for home: ask your child to explain one line of their program to you in their own words. If they can explain it, they understand it – and every error message is a clue, not a failure.

What your child will learn

Learning goal: store a list of things as an array of objects.

Success looks like

  • I can store a list of things as an array of objects.
  • I can loop through it and use each object's properties.
  • I can find, total and add records.

Key words

array of objects · record · property · loop · data

What to have ready

  • A device with a web browser (the code runs in the browser – nothing to install)
  • Paper for tracing
  • A keyboard helps for typing code (a tablet or phone works too)

The big ideas (for the adult)

A list of things with details is an array of objects: [{ name: "Ava", score: 12 }, { name: "Ben", score: 7 }].

players[0].name reads the first player's name. In for (const p of players), p.score is each player's score in turn.

Add a record with players.push({ … }). Totals, counts and "the best so far" work just as before – you compare p.score, but keep the whole object p.

Worked example – see it

const players = [
  { name: "Ben", score: 22 },
  { name: "Nia", score: 6 },
  { name: "Sam", score: 19 }
]
console.log(players.length, players[2].score)

It prints:

3 19

The lesson, step by step

40 minutes in 5 parts
PartTimeHow it is checked
Starter5 minGraded by Classfern
Teaching input8 minRead, watch and talk
See it, then predict8 minGraded by Classfern
Put it in order, write it, fix it14 minGraded by Classfern
Closure and exit ticket5 minGraded by Classfern + self-check

The lesson

It runs here on the page. No sign-up and no names – progress is kept only in this browser. Each visit picks a new mix of questions.

Homework

20 minutes: 7 questions – predict what code prints, write or fix a short program, and check the key ideas – then a short reflection. New questions every time, all graded instantly.

Practice tests

All JavaScript practice tests · All 24 JavaScript lessons

Curriculum

CSTA K–12 Computer Science Standards (2017), grades 6–8: 2-AP-11 – Create clearly named variables of different data types and operate on them; 2-AP-13 – Decompose problems to help design, implement and review programs.

The standard codes are CSTA's; the descriptions are our own words.

Our lessons and questions are our own. They are not written or endorsed by any government department, testing agency or exam board. JavaScript is a trademark or registered trademark of Oracle Corporation in the U.S. and other countries; Classfern is not affiliated with or endorsed by it.