--- title: Rendering Lists --- You will often want to display multiple similar components from a collection of data. You can use the [JavaScript array methods](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array#) to manipulate an array of data. On this page, you'll use [`filter()`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) and [`map()`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/map) with React to filter and transform your array of data into an array of components. * How to render components from an array using JavaScript's `map()` * How to render only specific components using JavaScript's `filter()` * When and why to use React keys ## Rendering data from arrays {/*rendering-data-from-arrays*/} Say that you have a list of content. ```js ``` The only difference among those list items is their contents, their data. You will often need to show several instances of the same component using different data when building interfaces: from lists of comments to galleries of profile images. In these situations, you can store that data in JavaScript objects and arrays and use methods like [`map()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) and [`filter()`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) to render lists of components from them. Here’s a short example of how to generate a list of items from an array: 1. **Move** the data into an array: ```js const people = [ 'Creola Katherine Johnson: mathematician', 'Mario José Molina-Pasquel Henríquez: chemist', 'Mohammad Abdus Salam: physicist', 'Percy Lavon Julian: chemist', 'Subrahmanyan Chandrasekhar: astrophysicist' ]; ``` 2. **Map** the `people` members into a new array of JSX nodes, `listItems`: ```js const listItems = people.map(person =>
  • {person}
  • ); ``` 3. **Return** `listItems` from your component wrapped in a `