将字符串转换为数组数组,Javascript

时间:2015-05-21 15:03:11

标签: javascript arrays

我有一个看起来像这样的字符串:

[ [a,b,c],[a,b,c],[a,b,c] ]

我想将其更改为数组数组。 你知道我该怎么办?

3 个答案:

答案 0 :(得分:0)

如果您的字符串是有效的JSON数组,则可以使用JSON.parse

var anArray = JSON.parse(arrayString)

答案 1 :(得分:0)

如果你的字符串实际上是这样的(有效的JSON):

var string = '[["a", "b", "c"], ["a", "b", "c"], ["a", "b", "c"]]';

然后你可以做

console.log(JSON.parse(string));
  

[[“a”,“b”,“c”],[“a”,“b”,“c”],[“a”,“b”,“c”]]

使用

var string = "[[a,b,c],[a,b,c],[a,b,c]]";

没有太多可以做的,因为它不是有效的JSON,并且a,b,c未定义。你将不得不按摩你的“字符串”,使它至少是有效的JSON。

答案 2 :(得分:0)

好吧,您可以尝试将其拆分为" [" -chars而忽略"]" -characters。

var str = "[[a,b,c],[a,b,c],[a,b,c]]"
var splitted = str.split("[");
var outerArray = [];
for(var i in splitted){
    var token = splitted[i].replace(/]/g, "");
    if(token.length > 0){
        var innerArray = token.split(",");
        if (innerArray.length > 0)
            outerArray.push(innerArray);
    }
}

这绝对不优雅,并且可能由于未处理的空格或空字符串而容易出错。但这可能是你可以去的一种方式......