Add copySign
This commit is contained in:
20
snippets/copySign.md
Normal file
20
snippets/copySign.md
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
title: copySign
|
||||||
|
tags: math,beginner
|
||||||
|
---
|
||||||
|
|
||||||
|
Returns the absolute value of the first number, but the sign of the second.
|
||||||
|
|
||||||
|
- Use `Math.sign()` to check if the two numbers have the same sign.
|
||||||
|
- Return `x` if they do, `-x` otherwise.
|
||||||
|
|
||||||
|
```js
|
||||||
|
const copySign = (x, y) => Math.sign(x) === Math.sign(y) ? x : -x;
|
||||||
|
```
|
||||||
|
|
||||||
|
```js
|
||||||
|
copySign(2, 3); // 2
|
||||||
|
copySign(2, -3); // -2
|
||||||
|
copySign(-2, 3); // 2
|
||||||
|
copySign(-2, -3); // -2
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user