竞价分析开发思路:1.通过报名信息与竞价信息的匹配找到对应竞价信息的姓名并将其存入localstorage里在页面中显示时,将其中的价格信息隐藏。当点击竞价信息结束时,通过_.sort来将存储的信息数组排序,具体方法是:
var a= BidJsonMessage.get_name_message();
var b= _.sortBy(a,function(para){
return para.price;
})
localStorage.setItem("bidder_list_name_and_phone_and_price",JSON.stringify(b));
}。
并显示价格信息。信息统计:我先分情况讨论如只有一人就将次存入到另一本地存储a里,当大于一人是就将以后的信息与a里的信息配对符合相同的条件将信息中的num+1否则就count+1当count的值等于a.length时将信息存到a里。至于竞价的结果我有两种方法,我先讲a里的信息筛选NUM=1的记录,然后找到其中最小的。第二种方法是,在排序好的信息中通过配对中间的信息是否与前一个信息及后一个信息配对,并分情况讨论其数组长度小于2的情况及数组的结尾情况。其算法如下var bid_person=JSON.parse(localStorage.getItem("bidder_list_name_and_phone_and_price"));
if (bid_person.length == 0) {
return false;
}
else if (bid_person.length == 1 || bid_person[0].price!=
bid_person[1].price) {
return bid_person[0];
}
for (var i = 1; i < bid_person.length - 2; i++) {
if (bid_person[i].price != bid_person[i-1].price
&& bid_person[i].price!= bid_person[i+1].price) {
return bid_person[i];
}
}
if (bid_person[bid_person.length-1].price
!= bid_person[bid_person.length-2].price) {
return bid_person[bid_person.length - 2];
}
else{
return false;
}
。
当取到统计式列表及清单列表后通过按钮控制其的可见习。至于结果框使用模态框输出具体代码是
%div(ng-switch="pop_out_modal")
%div(ng-switch-when="true" class="modal hide fade in" style="display:block;" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="false" )
%div(class="modal-header")
%button(type="button" class="close" style="float:right" ng-tap="close_modal()")×
%h4(style="text-align:center;")竞价结果
%div(class="modal-body" style="text-align:center;")
%h5 {{sort}}。
$scope.pop_out_modal = true;
$scope.footer_show = false;
$timeout(function () {
$scope.pop_out_modal = false;
$scope.footer_show = true;
}, 3000);
}
并通过结束按钮调用以实现第一次结束时提示竞价结果。在页面加载时通过,查看当前页面的名称的状态来显示不同的竞价列表。
短息信息处理。首先考虑是否符合信息的要求,有两种方式:第一种是,isNAN,number,NaN,另一种是较为通用的正则表达是^[0-9]*$。当信息符合条件时通过配对报名信息、竞价活动状态、及已竞价的信息、比较来进行不同的处理。