一个数组算法的复杂操作,谁会吗
- JScript code
//有这样的数组var areaObject=[ {name:2日,count:901}, {name:3日,count:807}, {name:4日,count:41}, {name:5日,count:741}, {name:6日,count:1100}];现在传进来一堆参数如下:
8733769769796@2012-06-01,3@2012-06-02,0@2012-06-03,2@2012-06-04,0
欲实现:第一个@前面的乱七八糟的值不要,取每个@后面的日期的日(可以截取前8个字符)并在后面加日字,得出name值,逗号后面的数字,如果该数字为0,则加2,不为0则不加,然后再除以9,得出count值,然后放在var areaObject=[ ]里面,对了,还要特别取出最大的count值。很复杂啊~~~咋操作呢? 分不多了,意思下 谢!
[解决办法]
- JScript code
var areaObject=[ {name:'2日',count:901}, {name:'3日',count:807}, {name:'4日',count:41}, {name:'5日',count:741}, {name:'6日',count:1100}];var str = '8733769769796@2012-06-01,3@2012-06-02,0@2012-06-03,2@2012-06-04,0';str = str.substr(str.indexOf('@') + 1);var ar = str.split('@');for (var i = 0; i < ar.length; i ++) { var o = {}; var tmp = ar[i].split(','); o.name = tmp[0].substr(-2) + '日'; o.count = (tmp[1] == 0) ? (tmp[1] + 2) / 9 : tmp[1] / 9; areaObject.push(o);}