Update and rename factoryWithSeed.md to generateItems.md
This commit is contained in:
@ -1,22 +0,0 @@
|
||||
---
|
||||
title: factoryWithSeed
|
||||
tags: array,beginner
|
||||
---
|
||||
|
||||
Generates the given amount of objects based on the given factory, which receives a unique seed.
|
||||
|
||||
- Creates a new array of size `amount`.
|
||||
- Fills it with some value to be able to iterate over it via `map`.
|
||||
- Uses `map`'s second argument, the index, as a seed for the factory.
|
||||
|
||||
```js
|
||||
const factoryWithSeed = (amount, factory) =>
|
||||
Array(amount) // create array with so many empty slots
|
||||
.fill(0) // fill them to be able to iterate
|
||||
.map((_, i) => factory(i)) // use index as seed
|
||||
```
|
||||
|
||||
```js
|
||||
const mockData = factoryWithSeed(5000, seed => ({ id: seed, name: randomAlphaNumeric(10) }));
|
||||
// 5000 items with unique IDs
|
||||
```
|
||||
16
snippets/generateItems.md
Normal file
16
snippets/generateItems.md
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
title: generateItems
|
||||
tags: array,function,intermediate
|
||||
---
|
||||
|
||||
Generates an array with the given amount of items, using the given function.
|
||||
|
||||
- Use `Array.from()` to create an empty array of the specific length, calling `fn` with the index of each newly created element.
|
||||
|
||||
```js
|
||||
const generateItems = (n, fn) => Array.from({ length: n }, (_, i) => fn(i));
|
||||
```
|
||||
|
||||
```js
|
||||
generateItems(10, Math.random); // [0.21, 0.08, 0.40, 0.96, 0.96, 0.24, 0.19, 0.96, 0.42, 0.70]
|
||||
```
|
||||
Reference in New Issue
Block a user