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

Convert string to 2 dimension array in Javascript

本文关键字:二维数组 Javascript 字符串 转换      更新时间:2023-09-26

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

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

然后我需要能够访问它的价值,如下所示:

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

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

您可以使用split方法和map方法的组合。split创建阵列,map通过返回一个新的Array:对其进行清理

var string = '[[Restaurants], [Restaurants], [Restaurants], [Caterers, Foods - Take-out]]';
var items = string.split('],').map(
    function(s) { return s.replace(/('['[| '[|']'])/g, ''); }
);

http://jsfiddle.net/4LYpr/

由于您正在拆分并试图制作一个数组,请先删除第一个("[[")和最后一个("]]"),然后用("],[")拆分字符串。

简单:

> 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);
}