在React开发中,我们或许经常遇到要将font-size:20px;转换成对象类型{fontSize:"20px"},如下我自己写了个类,正则匹配-后面的第一个字为大写字母,并且去掉-,然后将:后的属性转换为字符串类型,代码如下

function styleStrToObject(styleStr){
    const obj = {};
    const s = styleStr.toLowerCase().replace(/-(.)/g,function(m,g){
        return g.toUpperCase();
    }).replace(/;\s?$/g,"").split(/:|;/g)

    for(var i=0;i<s.length;i+=2){
        obj[s[i].replace(/\s/g,"")] = s[i+1].replace(/^s+|\s+$/g,"");
    }

    return obj
}

export default styleStrToObject

感谢大家观看,我们下次见