TypeError not iterable 🟨 JavaScript

TypeError: x is not iterable

for…of, spread or destructuring was used on something that isn’t an array/iterable.

Seen on: JavaScript

Meaning

Plain objects, undefined and numbers aren’t iterable. Common when an API returns an object instead of an array, or data hasn’t loaded.

Common causes

  • Spreading/looping undefined (data not loaded)
  • Iterating a plain object instead of Object.entries()
  • Destructuring a hook that returns an object as an array
  • API shape changed

⚡ Quick fix

  1. Default to []: for (const x of items ?? [])
  2. Use Object.entries/keys/values for objects
  3. Log the value to confirm its type

Detailed fix by platform

JavaScript

  1. for (const [key, value] of Object.entries(config)) { … }

How to diagnose

  1. Value — What is it actually?
  2. Source — API, props or state?

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.