2011-01-14 9 views
1

内のJavaScriptや保管中の文字列は、私は私がで最初の文字列を分割したい文字列分割多次元配列

string s='2011/01/03 00:00:00,14.00|2011/01/03 00:00:00,14.50|2011/01/03 00:00:00",15.00|2011/01/02 00:00:00,12.00|'; 

を持っています、私は

var ds=[]; 
ds=s.split('|'); 

を使用して行うことができます私はさらに、配列

質問が出力に似ていますので、私はmultidimention配列に格納しない方法ですで「」でそれらを分割したいと店舗この

da[0]={'2011/01/03 00:00:00',14.00} 
da[1]={'2011/01/03 00:00:00',14.50} 
. 
. 
. 

おかげ Prady

+0

多次元配列が本当に必要な場合は、構文がどのようになっているかについての@ patrickdwの答えを参照してください。中括弧はオブジェクトリテラル(キーと値のペア)であり、配列(順序付けられた値)ではありません。 – Phrogz

+0

ありがとうPhrogzとパトリック..私はmultimentional配列を探していた、私は}の代わりに}を使用して間違いをした – Prady

答えて

2
var ds = s.split('|'); 

for(var i = 0, len = ds.length; i < len; i++) { 
    if(ds[i]) 
     ds[i] = ds[i].split(','); 
} 

結果は次のようになります

[ 
    ['2011/01/03 00:00:00','14.00'], 
    ['2011/01/03 00:00:00','14.50'], 
    ['2011/01/03 00:00:00','15.00'], 
    ['2011/01/02 00:00:00','12.00'], 
    '' 
] 
+0

+1は、配列の長さをキャッシュするために、-1中括弧なしの複数行のステートメント。 :p – Phrogz

+0

@Phrogz:私は逃げました。 ; o) – user113716

2
var s='2011/01/03 00:00:00,14.00|2011/01/03 00:00:00,14.50|2011/01/03 00:00:00,15.00|2011/01/02 00:00:00,12.00'; 
var pieces = s.split('|'); 
for (var i=0,len=pieces.length;i<len;++i){ 
    var pair = pieces[i].split(','); 
    pieces[i] = {}; 
    pieces[i][pair[0]] = pair[1]*1; //*1 to convert from string to number 
} 

console.log(pieces); 
// [ 
// {'2011/01/03 00:00:00':14.00}, 
// {'2011/01/03 00:00:00':14.50}, 
// {'2011/01/03 00:00:00':15.00}, 
// {'2011/01/02 00:00:00':12.00}, 
// ] 

これは、あなたが本当にオブジェクトの配列の代わりに、多次元配列を意味していること、中括弧を使用して、擬似JSの構文に基づいて、想定しています。あなたが値に「時間として-string」をハッシュする単一のオブジェクトが必要な場合は、行う可能性があります:

var pieces = s.split('|'); 
var values = {}; 
for (var i=0,len=pieces.length;i<len;++i){ 
    var pair = pieces[i].split(','); 
    values[pair[0]] = pair[1]*1; 
} 
console.log(values); 
// { 
// '2011/01/03 00:00:00': 14.00, 
// '2011/01/03 00:00:00': 14.50, 
// '2011/01/03 00:00:00': 15.00, 
// '2011/01/02 00:00:00': 12.00, 
// } 

これは、あなたが値の配列を横断せずに、一定の時間内に任意の日のために価値を見つけることができるようになります。

+0

私はそれをオブジェクトとして解釈することを選択しました。君の言う通りかもね。私はそれに+1を与えるでしょう。 :o)ああ、数の変換にも。良いキャッチ。 – user113716

+0

@patrickdw私は正しいとは思わない。単一のキーを持つオブジェクトの配列を持つことはほとんど意味がありません。私は別の可能性のある推測を追加するように編集しますが、あなたが求めている多次元配列に行くのは正しいと思います。 – Phrogz