题解 | #颜色字符串转换#

颜色字符串转换

https://www.nowcoder.com/practice/80b08802a833419f9c4ccc6e042c1cca

 function rgb2hex(sRGB) {
        // 判断是否为正确格式
        if (!/^rgb\((\d{1,3},\s*){2}\d{1,3}\)$/.test(sRGB)) return sRGB;
        // 截取数组部分后拆分数组,判断每一项转换成16后的长度,长度不够2则头部补零并化小写,最后返回数组结果
        const arr = sRGB
          .slice(4, sRGB.length - 1)
          .split(",")
          .map((item) =>
            (+item).toString(16).length <= 1
              ? "0" + (+item).toString(16).toLowerCase()
              : (+item).toString(16).toLowerCase()
          );
          // 转为指定字符串格式
        const colorStr = arr.join("");
        return `#${colorStr}`;
      }

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务