add toHSLObject (#1617)

* add toHSLObject

* correct hsl destructure naming

* add % sign to saturation and lightness
This commit is contained in:
Stefan Fejes
2020-10-16 20:48:31 +02:00
committed by GitHub
parent 7d0bb41c4b
commit 9b8301aab8

21
snippets/toHSLObject.md Normal file
View 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 }
```