make ligten -> changeLightness

This commit is contained in:
Stefan Fejes
2020-10-30 16:38:31 +01:00
parent e9263befee
commit cb25140794

View File

@ -1,9 +1,9 @@
---
title: lighten
title: changeLightness
tags: string,browser,regexp,beginner
---
Returns the string value for the lightened color in `hsl` format.
Returns the string value of the color with changed lightness in `hsl` format.
- 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.
@ -11,12 +11,12 @@ Returns the string value for the lightened color in `hsl` format.
- Form a valid `hsl` color string.
```js
const lighten = (amount, hslStr) => {
const changeLightness = (delta, hslStr) => {
const [hue, saturation, lightness] = hslStr.match(/\d+/g).map(Number);
const newLightness = Math.max(
0,
Math.min(100, lightness + parseFloat(amount))
Math.min(100, lightness + parseFloat(delta))
);
return `hsl(${hue}, ${saturation}%, ${newLightness}%)`;
@ -24,5 +24,6 @@ const lighten = (amount, hslStr) => {
```
```js
lighten(10, "hsl(330, 50%, 50%)"); // 'hsl(330, 50%, 60%)'
changeLightness(10, "hsl(330, 50%, 50%)"); // 'hsl(330, 50%, 60%)' - lightens the color by 10%
changeLightness(-10, "hsl(330, 50%, 50%)"); // 'hsl(330, 50%, 40%)' - darkens the color by 10%
```