Nest all content into snippets
This commit is contained in:
22
snippets/js/s/cartesian-product.md
Normal file
22
snippets/js/s/cartesian-product.md
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Cartesian product
|
||||
type: snippet
|
||||
language: javascript
|
||||
tags: [math]
|
||||
cover: sail-away
|
||||
dateModified: 2020-12-29T12:31:43+02:00
|
||||
---
|
||||
|
||||
Calculates the cartesian product of two arrays.
|
||||
|
||||
- Use `Array.prototype.reduce()`, `Array.prototype.map()` and the spread operator (`...`) to generate all possible element pairs from the two arrays.
|
||||
|
||||
```js
|
||||
const cartesianProduct = (a, b) =>
|
||||
a.reduce((p, x) => [...p, ...b.map(y => [x, y])], []);
|
||||
```
|
||||
|
||||
```js
|
||||
cartesianProduct(['x', 'y'], [1, 2]);
|
||||
// [['x', 1], ['x', 2], ['y', 1], ['y', 2]]
|
||||
```
|
||||
Reference in New Issue
Block a user