gpt4 book ai didi

JavaScript:怎么将颜色字符串转为对象?

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 30 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章JavaScript:怎么将颜色字符串转为对象?由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

JavaScript:怎么将颜色字符串转为对象?

将HSL颜色字符串转换为具有每个颜色值的对象

思路:

  • 使用String.prototype.match()获取一个包含3个字符串和数值的数组;
  • 将Array.prototype.map()与Number结合使用,将它们转换为数值数组;
  • 使用数组分解将值存储到命名变量中,并从中创建适当的对象。

代码实现:

  1. consttoHSLObject=(hslStr)=>{
  2. const[hue,saturation,lightness]=hslStr.match(/\d+/g).map(Number);
  3. return{hue,saturation,lightness};
  4. }
  5.  
  6. //测试
  7. console.log(toHSLObject('hsl(50,10%,10%)'));//{hue:50,saturation:10,lightness:10}

根据以上思路,可将RGB、RGBA、HSLA进行同样的处理,如下:

拓展一:将RGB颜色字符串转换为具有每个颜色值的对象

代码实现:

  1. consttoRGBObject=(rgbStr)=>{
  2. const[red,green,blue]=rgbStr.match(/\d+/g).map(Number);
  3.  
  4. return{red,green,blue};
  5. }
  6.  
  7. console.log(toRGBObject('rgb(128,0,128)'));//{red:128,green:0,blue:128}

拓展二:将RGBA颜色字符串转换为具有每个颜色值的对象

代码实现:

  1. consttoRGBAObject=(rgbaStr)=>{
  2. let[red,green,blue,alpha]=rgbaStr.match(/\d+(\.\d+)?/g).map(Number);
  3.  
  4. return{red,green,blue,alpha};
  5. }
  6.  
  7. console.log(toRGBAObject('rgba(128,0,128,0.5'));//{red:128,green:0,blue:128,alpha:0.5}

拓展三:将HSLA颜色字符串转换为具有每个颜色值的对象

代码实现:

  1. consttoRGBAObject=(hslaStr)=>{
  2. const[hue,saturation,lightness,alpha]=hslaStr.match(/\d+(\.\d+)?/g).map(Number);
  3. return{hue,saturation,lightness,alpha};
  4. }
  5.  
  6. console.log(toRGBAObject('hsla(128,0,128,0.5'));//{hue:128,saturation:0,lightness:128,alpha:0.5}

原文链接:https://www.toutiao.com/a7008353282003321347/ 。

最后此篇关于JavaScript:怎么将颜色字符串转为对象?的文章就讲到这里了,如果你想了解更多关于JavaScript:怎么将颜色字符串转为对象?的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com