如何将形似数组的JavaScript字符串转换为真实数组
如何将形似数组的字符串转换为真实数组
方法一:使用JSON.parse()(推荐)
这是最安全通用的方案,前提是字符串格式符合JSON规范。
先修正你示例代码里的语法问题:原字符串末尾缺少闭合双引号,正确写法如下:
let string = "[\"abc\", \"cde\"]";
然后用JSON.parse()直接解析:
let arr = JSON.parse(string); console.log(arr); // 输出结果:["abc", "cde"]
特殊场景处理:
如果字符串里用单引号包裹元素(比如"['abc', 'cde']"),JSON解析会失败(JSON要求字符串必须用双引号),这时候可以先替换单引号再解析:
let string = "['abc', 'cde']"; let arr = JSON.parse(string.replace(/'/g, '"'));
方法二:使用eval()(仅用于可信字符串)
如果字符串包含JSON不支持的内容(比如函数、undefined),可以用eval(),但绝对不能用于不可信输入——eval()会执行字符串里的任意代码,存在严重安全风险。
示例:
// 仅在字符串来源完全可控时使用 let string = "[\"abc\", \"cde\"]"; let arr = eval(string);
内容的提问来源于stack exchange,提问作者19020051 Phạm Trung Nghĩa
相关产品推荐
相关产品推荐

