# `flatten()` The flatten method flattens a multi-dimensional collection into a single dimension: ```js const collection = collect({ club: 'Liverpool', players: ['Salah', 'Firmino', 'Mané'], }); const flattened = collection.flatten(); flattened.all(); // ['Liverpool', 'Salah', 'Firmino', 'Mané']; ``` You may optionally pass the function a "depth" argument: ```js const collection = collect({ Apple: [ { name: 'iPhone 6S', brand: 'Apple', }, ], Samsung: [ { name: 'Galaxy S7', brand: 'Samsung', }, ], }); const flattened = collection.flatten(1); flattened.all(); // [ // { name: 'iPhone 6S', brand: 'Apple' }, // { name: 'Galaxy S7', brand: 'Samsung' }, // ] ``` In this example, calling flatten without providing the depth would have also flattened the nested arrays, resulting in `['iPhone 6S', 'Apple', 'Galaxy S7', 'Samsung']`. Providing a depth allows you to restrict the levels of nested arrays that will be flattened. [View source on GitHub](https://github.com/ecrmnn/collect.js/blob/master/src/methods/flatten.js)