Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中将字符串转换为二维数组_Javascript_Arrays_Json - Fatal编程技术网

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

在Javascript中将字符串转换为二维数组,javascript,arrays,json,Javascript,Arrays,Json,我有一个字符串需要转换成数组: var string = "[[Restaurants], [Restaurants], [Restaurants], [Caterers, Foods - Take-out]]"; 然后我需要能够访问它的值,如下所示: var foo = arr[0]; //returns "Restaurant" var bar = arr[3]; //returns "Caterers, Foods - Take-out" 我尝试删除第一个和最后一个字符(“[”和“

我有一个字符串需要转换成数组:

var string = "[[Restaurants], [Restaurants], [Restaurants], [Caterers, Foods - Take-out]]";
然后我需要能够访问它的值,如下所示:

var foo = arr[0];  //returns "Restaurant"
var bar = arr[3];  //returns "Caterers, Foods - Take-out"

我尝试删除第一个和最后一个字符(“[”和“]”),但在“,”上拆分时仍然存在问题,因为其中一些值中有逗号。有什么想法吗?

你可以把这个方法和这个方法结合起来使用<代码>拆分创建数组,并通过返回新的
数组
对其进行映射清理:

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

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

由于您要拆分并尝试创建一个数组,请先删除第一个(“[[”)和最后一个(“]]”),然后按(“]”,[”)拆分字符串。

简单:

> a = "[[Restaurants], [Restaurants], [Restaurants], [Caterers, Foods - Take-out]]"
> b = a.slice(1).split(",")
> newB = []
> for (i=0;i < b.length;i++) {
    formatted = b[i].trim().slice(1,-2);
    newB.push(formatted);
}
>a=“[[餐厅]、[餐厅]、[餐厅]、[餐饮服务商、食品-外卖]”
>b=a.切片(1).拆分(“,”)
>newB=[]
>对于(i=0;i
您的'var string=....'语句是无效的javascript。这不是一个字符串-->>var string=[[餐厅],[餐厅],[餐厅],[餐饮服务商,食品-外卖]]我想您的意思是
var arr=[“餐厅”,“餐厅”,“餐厅”,“餐饮服务商,食品-外卖”]
对不起,我忘记了引号…这是一个字符串。