一个数组算法的复杂操作,谁会吗

b0172716 2012-07-01 10:04:30

//有这样的数组
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值。很复杂啊~~~咋操作呢? 分不多了,意思下 谢!
...全文
144 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
乌镇程序员 2012-07-01
  • 打赏
  • 举报
回复
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);
}

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧