add toHSLObject (#1617)
* add toHSLObject * correct hsl destructure naming * add % sign to saturation and lightness
This commit is contained in:
21
snippets/toHSLObject.md
Normal file
21
snippets/toHSLObject.md
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
title: toHSLObject
|
||||||
|
tags: string,browser,regexp,intermediate
|
||||||
|
---
|
||||||
|
|
||||||
|
Converts an `hsl()` color string to an object with the values of each color.
|
||||||
|
|
||||||
|
- Use `String.prototype.match()` to get an array of 3 string with the numeric values.
|
||||||
|
- Use `Array.prototype.map()` in combination with `Number` to convert them into an array of numeric values.
|
||||||
|
- Use array destructuring to store the values into named variables and create an appropriate object from them.
|
||||||
|
|
||||||
|
```js
|
||||||
|
const toHSLObject = hslStr => {
|
||||||
|
const [hue, saturation, lightness] = hslStr.match(/\d+/g).map(Number);
|
||||||
|
return { hue, saturation, lightness };
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
```js
|
||||||
|
toHSLObject("hsl(50,10%,10%)"); // { hue: 50, saturation: 10, lightness: 10 }
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user