use*_*026 1 javascript arrays jquery
我试图弄清楚如何用方括号替换点表示法中的字符串:
emergency.1.phone.2
Run Code Online (Sandbox Code Playgroud)
应转换为:
emergency[1][phone][2]
Run Code Online (Sandbox Code Playgroud)
我正在尝试使其具有动态性,因此无论存在多少个点,它都将转换字符串。
您可以通过将字符串.replace方法与带有特殊替换功能的正则表达式一起使用来实现。
正则表达式为/\.(.+?)(?=\.|$)/g,它查找:
.,后跟.或字符串的结尾然后,您可以指定一个函数,该函数采用捕获的字符串并将其放在方括号中,并将其用作替换程序。
例:
const dots = "emergency.1.phone.2"
// Should convert to:
// emergency[1][phone][2]
console.log(dots.replace(/\.(.+?)(?=\.|$)/g, (m, s) => `[${s}]`))Run Code Online (Sandbox Code Playgroud)