Bird
Raised Fist0
Svelteframework~5 mins

Each blocks ({#each}) in Svelte - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of the {#each} block in Svelte?
The {#each} block is used to loop over an array or list and render a block of HTML for each item in that list.
Click to reveal answer
beginner
How do you access the current item inside an {#each} block?
You give a name to the current item in the syntax: {#each items as item}, then use that name inside the block to access the item.
Click to reveal answer
intermediate
Why should you provide a unique key when using {#each} blocks?
Providing a unique key helps Svelte track each item efficiently when the list changes, improving performance and avoiding rendering bugs.
Click to reveal answer
beginner
Write the syntax to loop over an array called 'fruits' and display each fruit name inside a <li> element.
    {#each fruits as fruit}
  • {fruit}
  • {/each}
Click to reveal answer
beginner
What happens if the array used in {#each} is empty?
Nothing is rendered inside the {#each} block unless you use an {:else} block to show alternative content.
Click to reveal answer
What does the {#each} block do in Svelte?
ALoops over a list and renders HTML for each item
BDefines a function
CImports a component
DDeclares a variable
How do you write an {#each} block for an array named 'tasks' with item named 'task'?
A{#each task}
B{#each task as tasks}
C{#each tasks as task}
D{#each tasks}
Why is it recommended to add a key in {#each} blocks?
ATo style the list
BTo declare variables
CTo import data
DTo improve rendering performance and track items
What will happen if the array in {#each} is empty and no {:else} block is provided?
ANothing will be rendered inside the block
BAn error will occur
CThe first item will be repeated
DThe whole page will reload
Which of the following is the correct way to add a key to an {#each} block?
A{#each items as item key=item.id}
B{#each items as item (item.id)}
C{#each items with key item.id}
D{#each items item.id}
Explain how to use the {#each} block in Svelte to display a list of names.
Think about how you tell Svelte to repeat HTML for each name.
You got /3 concepts.
    Describe why adding a unique key in an {#each} block is important and how to do it.
    Keys help Svelte know which items changed when the list updates.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the {#each} block do in Svelte?
      easy
      A. Creates a conditional statement to show or hide content
      B. Repeats a block of HTML for each item in a list
      C. Defines a reusable component
      D. Declares a reactive variable

      Solution

      1. Step 1: Understand the purpose of {#each}

        The {#each} block is used to repeat content for every item in a list or array.
      2. Step 2: Compare with other options

        Options A, C, and D describe other Svelte features, not list repetition.
      3. Final Answer:

        Repeats a block of HTML for each item in a list -> Option B
      4. Quick Check:

        {#each} = repeat list items [OK]
      Hint: Remember: {#each} loops over lists [OK]
      Common Mistakes:
      • Confusing {#each} with {#if}
      • Thinking it creates components
      • Assuming it declares variables
      2. Which of the following is the correct syntax to loop over an array items and display each item in Svelte?
      easy
      A. {#each items to item} <p>{item}</p> {/each}
      B. {#each item in items} <p>{item}</p> {/each}
      C. {#each items for item} <p>{item}</p> {/each}
      D. {#each items as item} <p>{item}</p> {/each}

      Solution

      1. Step 1: Recall Svelte each block syntax

        The correct syntax is {#each array as item} to loop over an array.
      2. Step 2: Check each option

        Only {#each items as item} <p>{item}</p> {/each} uses as correctly. Options A, B, and C use incorrect keywords.
      3. Final Answer:

        {#each items as item} <p>{item}</p> {/each} -> Option D
      4. Quick Check:

        Use as keyword in {#each} [OK]
      Hint: Use 'as' keyword: {#each array as item} [OK]
      Common Mistakes:
      • Using 'in' instead of 'as'
      • Using 'for' or 'to' keywords
      • Missing the 'as' keyword
      3. Given the code:
      {`
      
      
        {#each fruits as fruit, i}
      • {i}: {fruit}
      • {/each}
      `}

      What will be the rendered output inside the <ul>?
      medium
      A.
    • 0: apple
    • 1: banana
    • 2: cherry
    • B.
    • apple: 0
    • banana: 1
    • cherry: 2
    • C.
    • 1: apple
    • 2: banana
    • 3: cherry
    • D.
    • fruit: apple
    • fruit: banana
    • fruit: cherry
    • Solution

      1. Step 1: Understand the each block variables

        The loop uses fruit for the item and i for the index starting at 0.
      2. Step 2: Match output format

        Each list item shows index, colon, then fruit name, so output is 0: apple, 1: banana, 2: cherry.
      3. Final Answer:

        <li>0: apple</li><li>1: banana</li><li>2: cherry</li> -> Option A
      4. Quick Check:

        Index starts at 0, item after colon [OK]
      Hint: Index starts at 0 in {#each items as item, i} [OK]
      Common Mistakes:
      • Confusing index and item order
      • Starting index at 1 instead of 0
      • Using wrong variable names
      4. What is wrong with this Svelte code snippet?
      {`
      
      
        {#each numbers as number}
      • {num}
      • {/each}
      `}
      medium
      A. The variable inside the block should be 'number', not 'num'
      B. The array 'numbers' is not defined
      C. The each block syntax is incorrect
      D. Missing closing {/each} tag

      Solution

      1. Step 1: Check variable names inside each block

        The loop defines number as the item, but inside the block it uses {num}, which is undefined.
      2. Step 2: Verify other syntax parts

        The array is defined, the each block syntax and closing tag are correct.
      3. Final Answer:

        The variable inside the block should be 'number', not 'num' -> Option A
      4. Quick Check:

        Use same variable name inside each block [OK]
      Hint: Use the exact loop variable name inside the block [OK]
      Common Mistakes:
      • Using a different variable name inside the block
      • Forgetting to close the each block
      • Misnaming the array variable
      5. You want to render a list of users with unique IDs and update the list efficiently when users change. Which is the best way to use {#each} with keys in Svelte?
      hard
      A. {#each users as user (user.name)} <p>{user.name}</p> {/each}
      B. {#each users as user} <p>{user.name}</p> {/each}
      C. {#each users as user (user.id)} <p>{user.name}</p> {/each}
      D. {#each users as user (index)} <p>{user.name}</p> {/each}

      Solution

      1. Step 1: Understand keys in each blocks

        Keys help Svelte track items uniquely for efficient updates. The key should be a unique, stable identifier like user.id.
      2. Step 2: Evaluate options

        {#each users as user (user.id)} <p>{user.name}</p> {/each} uses user.id as key, which is best. {#each users as user} <p>{user.name}</p> {/each} has no key, less efficient. {#each users as user (user.name)} <p>{user.name}</p> {/each} uses user.name, which may not be unique. {#each users as user (index)} <p>{user.name}</p> {/each} uses index, which can cause issues when list changes.
      3. Final Answer:

        {#each users as user (user.id)} <p>{user.name}</p> {/each} -> Option C
      4. Quick Check:

        Use unique ID as key in each block [OK]
      Hint: Use unique IDs as keys: {#each items as item (item.id)} [OK]
      Common Mistakes:
      • Not using keys at all
      • Using non-unique keys like names
      • Using index as key causing update bugs
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard