我们如何将字符串数组转换回数组。
var arr = '[ "abc", "def"]';
console.log(typeof arr) ==> String
如何将其转换回数组?
我从API响应中以字符串的形式获取此数组。这些都是错误,可能是多重的。我想将它们转换为数组,以便我可以将它们显示在正确的位置上。
答案 0 :(得分:0)
如果您的字符串真的如您的编辑中所示(不是原始问题),那么它是有效的JSON,因此您可以使用JSON.parse
:
var str = '["abc", "def"]';
var arr = JSON.parse(str);
答案 1 :(得分:0)
由于您的数组语法符合JSON array的语法:使用JSON解析器。
浏览器最近有一个内置。
arr = JSON.parse(arr);
对于更通用的方法,您需要查看eval
,但这有许多缺点(包括范围,速度和安全性问题)。
答案 2 :(得分:0)
您无法将其转换回来,因为您实际上没有数组。
应该创建一个没有单引号的数组...你正在创建一个字符串,如果你想创建一个数组,你想做类似下面的事情。
var arr = ["string 1","string 2"];
<强>更新强> 由于您更新了问题,并提供了有关字符串原因的信息,因此您可以按照建议的解决方案进行操作:
JSON.parse(arr);
答案 3 :(得分:0)
使用 JSON.parse() 将JSON string
转换为JSON object
。
<强>样本强>
var arr = '[ "abc", "def"]';
console.log(typeof arr); // string
var arr = JSON.parse('[ "abc", "def"]');
console.log(typeof arr); // object
&#13;