簡體   English   中英

在Javascript中將字符串轉換為2維數組

[英]Convert string to 2 dimension array in Javascript

我有這個字符串需要轉換為數組:

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

然后我需要能夠像這樣訪問它的值:

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

我嘗試刪除第一個和最后一個字符(“[”和“]”),但是在分裂“,”時我仍然有問題,因為某些值在其中有逗號。 有任何想法嗎?

您可以使用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/

由於您正在拆分並嘗試創建數組,首先刪除第一個(“[[”)和last(“]]”),然后將字符串拆分為(“],[”)。

簡單:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM