在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=[“餐厅”,“餐厅”,“餐厅”,“餐饮服务商,食品-外卖”]
对不起,我忘记了引号…这是一个字符串。