标签:
原来在有点糊涂的情况下,可能是那段时间写js写的头昏了吧,差点把他是客服端代码都给忘却了。导师的一词MVC就好如当头棒喝,把我从梦中叫醒,话不多说,先给出之前的渣渣代码
//计算总价 var cnt= 0; $(".price").each(function(){ cnt +=parseInt($(this).text()); }); $("#count").text(cnt); //创建数组 var a=new Array(); var i=0; $(".menuId").each(function(){ a[i]=$(this).attr("sid"); i++; }); // 统计代码 b = new Array(); for (var index in a) { if (b[a[index]] == null) b[a[index]] = 1; else b[a[index]]++; } // 输出统计 for (var index in b) { console.info(index); $("."+index).slice(1).remove(); $(".copy_"+index).text(b[index]); }
不用留意看啦,这些代码姑且算是我的一个教训吧 ,这种在dom都生成的情况下再对dom处理明显是非常不明智的,不能说全盘否定,只是有更好的解决方法而已(也只是相对就是了)
在后端处理数据只需要这么简单:
Map<RestaurantMenu,Integer> restaurantMenuMap = new LinkedHashMap<RestaurantMenu,Integer>(); for(OrderingUser orderingUser:orderingUsers){ Integer count= restaurantMenuMap.get(orderingUser.getRestaurantMenu()); restaurantMenuMap.put(orderingUser.getRestaurantMenu(), (count == null) ? 1 : count + 1); countPrice+=orderingUser.getRestaurantMenu().getPrice(); }
restaurantMenuMap 就是想要拿到的结果。coutPrice就是计算总和喽
吃一垫长一智,key值可存对象,我不是第一天知道,却是第一次用。看完的同学们有什么感受么?欢迎分享批评!
标签:
原文地址:http://my.oschina.net/nyp/blog/393840