5

配列に変換する必要がある次の文字列があります。

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

次に、次のようにその値にアクセスできるようにする必要があります。

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

最初と最後の文字 ( "[" と "]" ) を削除しようとしましたが、値の一部にカンマが含まれているため、「,」で分割するときにまだ問題が残っていました。何か案は?

4

3 に答える 3

2

splitメソッドとメソッドを組み合わせて使用​​できますmapsplit配列を作成しmap、 new を返すことでクリーンアップし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/

于 2013-07-11T19:56:30.807 に答える
1

Since you are splitting and trying to make an array first remove the first("[[") and last ("]]") then split the string by ("], [").

于 2013-07-11T20:00:07.567 に答える