--- id: lists-and-keys title: Lists and Keys permalink: docs/lists-and-keys.html prev: conditional-rendering.html next: forms.html --- First, let's review how you transform lists in JavaScript. Given the code below, we use the [`map()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) function to take an array of `numbers` and double their values. We assign the new array returned by `map()` to the variable `doubled` and log it: ```javascript{2} const numbers = [1, 2, 3, 4, 5]; const doubled = numbers.map((number) => number * 2); console.log(doubled); ``` This code logs `[2, 4, 6, 8, 10]` to the console. In React, transforming arrays into lists of [elements](/docs/rendering-elements.html) is nearly identical. ### Rendering Multiple Components {#rendering-multiple-components} You can build collections of elements and [include them in JSX](/docs/introducing-jsx.html#embedding-expressions-in-jsx) using curly braces `{}`. Below, we loop through the `numbers` array using the JavaScript [`map()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) function. We return a `
  • ` element for each item. Finally, we assign the resulting array of elements to `listItems`: ```javascript{2-4} const numbers = [1, 2, 3, 4, 5]; const listItems = numbers.map((number) =>
  • {number}
  • ); ``` We include the entire `listItems` array inside a `