ui
This commit is contained in:
+48
@@ -0,0 +1,48 @@
|
||||
# `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)
|
||||
Reference in New Issue
Block a user