2015-04-15 104 views
-1

我这是在传递给我的javascript文件,它就像一个字符串值:拆分数组中的JavaScript

"["244aac9a-0833-40a2-b8e9-9bef89562b2e","a392913d-9a17-4c30-ba99-f9ad9745fa0a","f5eca9a9-c6ef-4abb-b54c-134271d69cd9"]" 

我想分裂每个逗号的GUID。

所以我在做这样的事情:

var string = "["244aac9a-0833-40a2-b8e9-9bef89562b2e","a392913d-9a17-4c30-ba99-f9ad9745fa0a","f5eca9a9-c6ef-4abb-b54c-134271d69cd9"]"; 

var array = string.split(','); 

当我索引我得到的结果数组:

array[0] = "["244aac9a-0833-40a2-b8e9-9bef89562b2e"" 
array[1] = ""a392913d-9a17-4c30-ba99-f9ad9745fa0a"" 
array[2] = ""f5eca9a9-c6ef-4abb-b54c-134271d69cd9"]" 

这是非常接近我所需要的,但什么是最好的方式摆脱额外的“”,以及从array[0][]array[2]

+0

你已经尝试过'.replace()'方法吗? – reporter

+2

JSON.parse(string)结果为字符串数组 – Nico

+0

谢谢,我编辑我的评论 – reporter

回答

6

约JSON是什么?

JSON.parse('["244aac9a-0833-40a2-b8e9-9bef89562b2e","a392913d-9a17-4c30-ba99-f9ad9745fa0a","f5eca9a9-c6ef-4abb-b54c-134271d69cd9"]') 
+0

这对我来说真的很好 - 谢谢 - 我会接受 –

0

您可以删除"[,并]之前分裂:

var array = str.replace(/["[\]]/g, "").split(","); 

/["[\]]/g是一个正则表达式定义包含字符"[一个字符类,并],意思是“这些字符在这里” 。它用一个空白字符串替换任何匹配的东西。

例子:

var str = "[\"244aac9a-0833-40a2-b8e9-9bef89562b2e\",\"a392913d-9a17-4c30-ba99-f9ad9745fa0a\",\"f5eca9a9-c6ef-4abb-b54c-134271d69cd9\"]"; 
 
var array = str.replace(/["[\]]/g, "").split(","); 
 
array.forEach(function(entry, index) { 
 
    snippet.log("array[" + index + "]: " + entry); 
 
});
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 --> 
 
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>

0

跳过[],删除逗号&空间,分裂:

var string = "[\"A\", \"B\", \"C\"]"; 

var arr = string.substr(1, string.length - 2).replace(/[\"\s]/g, "").split(","); 

alert(arr); 
-1

实现此目的的一种方法是通过eval()函数,无需任何库。

var arr = '["244aac9a-0833-40a2-b8e9-9bef89562b2e","a392913d-9a17-4c30-ba99-f9ad9745fa0a","f5eca9a9-c6ef-4abb-b54c-134271d69cd9"]'; 

var arrObj = eval(arr); 
console.log(arrObj.length) //length is 3 

而且包裹在单引号(')的字符串值,而不是双引号(“)。

0

虽然答案Splitting Array in javascript是正确的它回避了更多的解释。

鉴于串:

"["244aac9a-0833-40a2-b8e9-9bef89562b2e","a392913d-9a17-4c30-ba99-f9ad9745fa0a","f5eca9a9-c6ef-4abb-b54c-134271d69cd9"]"

此字符串如下共同的JSON阵列形式http://www.w3.org/TR/json-ld/#dfn-array

将数组结构表示为围绕零 或更多值的方括号。值由逗号分隔。在JSON中,数组是 一个有零个或多个值的有序序列。

在该示例串中的每个对象实际上是一个字符串,因为它是由"'标记包围。为了解析一个JSON字符串对象您只需拨打:

var jsonObject = JSON.parse(string);

这将导致一个字符串对象数组英寸然后可以迭代或管理一个通用的JavaScript Array时尚。