我有串,看起来是这样的:将数组对象是一个String
var stringArray = "[[1,2,3,4],[5,6,7,8]]"
我需要转换使用javascript它,所以它是这样的:
var actualArray = [[1,2,3,4],[5,6,7,8]]
如何将一个做到这一点?
我有串,看起来是这样的:将数组对象是一个String
var stringArray = "[[1,2,3,4],[5,6,7,8]]"
我需要转换使用javascript它,所以它是这样的:
var actualArray = [[1,2,3,4],[5,6,7,8]]
如何将一个做到这一点?
您的输入结构为JSON
。因此,您可以简单地使用任何JSON
解析方法或库。例如JSON.parse(stringArray)
(documentation)。
下面是使用JSON.parse
一个片段:
var stringArray = "[[1,2,3,4],[5,6,7,8]]";
var parsedArray = JSON.parse(stringArray);
$('#first').html(parsedArray[0].toString());
$('#second').html(parsedArray[1].toString());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
First element: <span id="first"></span><br>
Second element: <span id="second"></span>
您也可以使用eval
功能(documentation),但请注意,你应该不惜一切代价避免该功能如果可能的话。这是危险的,通常比替代品慢。 Here更多。
但是这里是一个使用eval
方法的版本:
var stringArray = "[[1,2,3,4],[5,6,7,8]]";
var parsedArray = eval(stringArray);
$('#first').html(parsedArray[0].toString());
$('#second').html(parsedArray[1].toString());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
First element: <span id="first"></span><br>
Second element: <span id="second"></span>
感谢您的迅速回复,eval( )和JSON.parse工作很好。 –
[eval()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval)只能在绝对需要时使用。任何使用的值都必须进行消毒。 –
@AlanLarimer感谢您的链接,我编辑了答案,包含它并改变了建议的顺序。 – Zabuza
'VAR actualArray = JSON.parse(字符串数组);' – 4castle
是JSON.parse工作。谢谢。 –
请参阅:[如何避免滥用标签?](https://meta.stackoverflow.com/questions/354427/how-do-i-avoid-misusing-tags) – EJoshuaS