在Javascript中将字符串转换为2维数组

pni*_*ols 5 javascript arrays json

我有这个字符串需要转换为数组:

var string = "[[Restaurants], [Restaurants], [Restaurants], [Caterers, Foods - Take-out]]";
Run Code Online (Sandbox Code Playgroud)

然后我需要能够像这样访问它的值:

var foo = arr[0];  //returns "Restaurant"
var bar = arr[3];  //returns "Caterers, Foods - Take-out"
Run Code Online (Sandbox Code Playgroud)

我尝试删除第一个和最后一个字符("["和"]"),但是在分裂","时我仍然有问题,因为某些值在其中有逗号.有任何想法吗?

xan*_*ded 2

您可以结合使用方法splitmap方法。split创建数组并map通过返回一个新的来清理它Array

var string = '[[Restaurants], [Restaurants], [Restaurants], [Caterers, Foods - Take-out]]';

var items = string.split('],').map(
    function(s) { return s.replace(/(\[\[| \[|\]\])/g, ''); }
);
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/4LYpr/