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

颜色字符串转换

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

简洁、易读
1. 先判断是否匹配格式
2. parseInt('255    ', 10) 是等于255的,空格不用处理
3. 注意转化16进制字符需要补全2位
function rgb2hex(sRGB) {
    let reg = /^rgb\(\d+,\d+,\d+\)$/;
    if (!reg.test(sRGB)) return sRGB;
    sRGB = sRGB.slice(sRGB.indexOf('(') + 1, -1);
    let arr = sRGB.split(',');
    let ans = '#';
    for (let v of arr) {
        let n = parseInt(v, 10);
        if (n < 0 || n > 255) return sRGB;
        ans += ('0' + n.toString(16)).slice(-2);
    }
    return ans;
}


全部评论

相关推荐

点赞 评论 收藏
分享
三年之期已到我的offer快到碗里来:9硕都比不上9本
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务