2022前端春招——CVTE笔试编程题

第一题:将十进制表示的rgba字符串转为十六进制表示的字符串,透明度直接用字符串表示即可。
例:

输入:rgba(125,125,125,0.4)
输出:["#ffffff", “0.4”]

<script>
        // 将十进制的rgba表示转为16进制
        let str = "rgba(125,25,255,0.4)";
        let rgba = str.match(/^rgba\((\d*),(\d*),(\d*),(.*)\)$/);
        // console.log(rgba);
        let result = '#'
        for (let i = 1; i < rgba.length - 1; i++) {
            // console.log(parseInt(rgba[i]).toString(16));
            result += parseInt(rgba[i]).toString(16);
        }
        console.log([result, rgba.slice(-1).toString()]);
    </script>

第二题:将URL中的query string转为json格式
例:

url为:http:www.jsdk.demo.html?x=2&y=3&y=4&y=5&z=0
输出:{x:2, y:[3,4,5], z:0}

<script>
        // 将URL中的query string转为json格式   例如[x:1,y:[3,4,5],z:0]
        // let url = "http:www.jsdk.demo.html?x=2&y=3&y=4&y=5&z=0";
        let query = window.location.search.substring(1).split('&');
        let json = {};
        for (let i = 0; i < query.length; i++) {
            let temp = query[i].split('=');
            if (json.hasOwnProperty(temp[0])) {
                console.log(typeof (json[temp[0]]));
                if (typeof (json[temp[0]]) === 'number') {
                    json[temp[0]] = [json[temp[0]], parseInt(temp[1])];
                    console.log(json[temp[0]]);
                }
                else {
                    console.log(json[temp[0]]);
                    json[temp[0]].push(parseInt(temp[1]));
                }
            }
            else {
                json[temp[0]] = parseInt(temp[1]);
            }
        }
        console.log(json);

    </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值