如何在不使用eval的情况下将嵌套数组的字符串转换为不带引号的数组,字符串也可以是latex的形式

May*_*rma 0 javascript arrays math latex jsxgraph

如何在javascript中将嵌套数组的字符串转换为不带引号的数组。我想不使用eval()

"[[[a,f],[b]],[[c]],[d],[e]]" into [[["a","f"],["b"]],[["c"]],["d"],["e"]]

d  = eval("[[[a,f],[b]],[[c]],[d],[e]]".replace(/(\w+)/g, '"$1"'))
Run Code Online (Sandbox Code Playgroud)

给出了解决方案,但我不想使用 eval 它也可以在乳胶“[[\\frac{a}{b}]]”中用于此 JSON.parse 将不起作用

Nin*_*olz 6

您可以将新字符串视为 JSON 并对其进行解析。

let d = JSON.parse("[[[a,f],[b]],[[c]],[d],[e]]".replace(/(\w+)/g, '"$1"'));

console.log(d);
Run Code Online (Sandbox Code Playgroud)