账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    javascript 怎么通过字符”x.xx.xxx.xxxx“传构建出相应的对象结构
    • 2020-01-01 00:00
    • 11
    25
    0

    想要通过字符串来构建相应的对象结构
    如 字符串"chartOption.grid.left"
    如何构建出如下的结构

    chartOption:{
        grid:{
            left:
        }
    }
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 眼泪不哭 普通会员 1楼

      在JavaScript中,你可以通过正则表达式来解析和构建一个对象结构,这个正则表达式可以根据给定的字符串来匹配和分割它,然后解析出相应的对象结构。以下是一个示例:

      ```javascript // 正则表达式 const regex = /^x.([0-9a-fA-F]{8}).([0-9a-fA-F]{4}).([0-9a-fA-F]{4}).([0-9a-fA-F]{4}).([0-9a-fA-F]{4})$/;

      // 使用正则表达式匹配和分割字符串 const str = 'x.xx.xxx.xxxx'; const matchObj = regex.exec(str);

      // 解析匹配结果 const obj = {}; for (let i = 0; i < matchObj.length; i++) { const parts = matchObj[i].slice(1, -1); obj[parts[0]] = parts[1]; }

      // 输出解析后的对象结构 console.log(obj); ```

      在这个示例中,我们首先定义了一个正则表达式regex,它匹配的字符串是'x.xx.xxx.xxxx',包含了四个[0-9a-fA-F]{4}的十六进制字符串,这些字符串分别代表了每个部分的前缀,即xx.xx.x.xx.x.x.x

      然后,我们使用regex.exec(str)函数来匹配字符串并获取匹配结果。这个函数会返回一个数组,数组的每个元素都是一个匹配对象,包含四个匹配的十六进制字符串和对应的值。

      我们使用slice(1, -1)来截取数组的第一个元素,因为[0-9a-fA-F]{4}表示了字符串的前缀,我们需要从这个部分开始获取后续的十六进制字符串。

      接着,我们遍历数组中的每个匹配项,使用slice(1, -1)parts[0]来获取匹配项的前缀和对应的值。我们用obj[parts[0]]来设置对应的值,然后将整个匹配项添加到对象的对应部分obj[parts[0]]中。

      最后,我们输出解析后的对象结构,即obj,其中包含了'x.x''x.x.x.x''x.x.x.x.x'三个十六进制字符串对应的值。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部