我有一个字符串
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 :(得分: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'],
''
]
答案 1 :(得分: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语法,你真的是指一个对象数组而不是多维数组。如果您希望单个对象将值“time-as-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,
// }
这将允许您在恒定时间内查找任何给定日期的值,而无需遍历值数组。