2017-10-21 42 views
-5

我有串,看起来是这样的:将数组对象是一个String

var stringArray = "[[1,2,3,4],[5,6,7,8]]" 

我需要转换使用javascript它,所以它是这样的:

var actualArray = [[1,2,3,4],[5,6,7,8]] 

如何将一个做到这一点?

+0

'VAR actualArray = JSON.parse(字符串数组);' – 4castle

+0

是JSON.parse工作。谢谢。 –

+0

请参阅:[如何避免滥用标签?](https://meta.stackoverflow.com/questions/354427/how-do-i-avoid-misusing-tags) – EJoshuaS

回答

-1

您的输入结构为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>

+1

感谢您的迅速回复,eval( )和JSON.parse工作很好。 –

+1

[eval()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval)只能在绝对需要时使用。任何使用的值都必须进行消毒。 –

+0

@AlanLarimer感谢您的链接,我编辑了答案,包含它并改变了建议的顺序。 – Zabuza

相关问题