0

この [(data1.1)(data1.2)][(data2.1)(data2.1)] のようなもので構成される完全な文字列があります。

一致関数と正規表現を使用して何かスマートにできることを読んだことがあります。かっこからデータがロードされた2つの配列が必要です..一体どうやってそれを行うのですか? 例として私の文字列を使用してください。

4

2 に答える 2

1

私はこの忌まわしきことを思いつきました:

var array = s.replace(/^\[|\]$/g,'').split('][').map(function(a){    
    return a.replace(/^\(|\)$/g,'').split(')(')
});

http://jsfiddle.net/8kLhc/

また、このように意図的にデータを保存または送信する場合は、JSONまたは適切なデータベース設計を検討する必要があります。

于 2013-04-23T22:33:42.210 に答える
0

あなたが何を求めていたのか完全にはわかりませんでしたが、私はこれを推測しています

var what = '[(data1.1)(data1.2)][(data2.1)(data2.2)]',
    have = [],
    you = [],
    tried = /\[\(([^)]*)\)\(([^)]*)\)\]/g;
what.replace(tried, function (use, brain, forthis) {
    you.push((have.push(brain), forthis));
});
console.log(have, you);
// ["data1.1", "data2.1"] ["data1.2", "data2.2"]
于 2013-04-23T22:27:34.313 に答える