本网站(662p.com)打包出售,且带程序代码数据,662p.com域名,程序内核采用TP框架开发,需要联系扣扣:2360248666 /wx:lianweikj
精品域名一口价出售:1y1m.com(350元) ,6b7b.com(400元) , 5k5j.com(380元) , yayj.com(1800元), jiongzhun.com(1000元) , niuzen.com(2800元) , zennei.com(5000元)
需要联系扣扣:2360248666 /wx:lianweikj
JavaScript:怎么将颜色字符串转为对象?
itnanba · 191浏览 · 发布于2021-09-17 +关注

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

思路:

  • 使用String.prototype.match()获取一个包含3个字符串和数值的数组;

  • 将Array.prototype.map()与Number结合使用,将它们转换为数值数组;

  • 使用数组分解将值存储到命名变量中,并从中创建适当的对象。

代码实现:

const toHSLObject = (hslStr) => { 
  const [hue, saturation, lightness] = hslStr.match(/\d+/g).map(Number); 
  return { hue, saturation, lightness }; 
} 

//测试 
console.log(toHSLObject('hsl(50, 10%, 10%)'));  // { hue: 50, saturation: 10, lightness: 10 }

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

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

    代码实现:

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

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

      代码实现:

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

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

        代码实现:

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


          相关推荐

          RN开发环境的npm私库本地debug调试

          manongba · 696浏览 · 2019-05-09 17:03:46
          你不知道的浏览器渲染原理

          追忆似水年华 · 1372浏览 · 2019-05-09 22:47:56
          基于iview的router常用控制方式

          追忆似水年华 · 994浏览 · 2019-06-03 10:39:21
          编程小知识之 JavaScript 文件读取

          manongba · 716浏览 · 2019-06-10 09:16:16
          10个省时间的 PyCharm 技巧 赶快收藏!

          · 701浏览 · 2019-06-10 09:32:01
          加载中

          0评论

          评论
          分类专栏
          小鸟云服务器
          扫码进入手机网页