代码如下 若不用两个对象则会出现更改任一集合中的值 两个集合值一起发生变化
$.each(stockDetails, function(i, item){
//设置a 为0则不同 为1 则相同合并
var a = 0;
var b = 0;
//将传来了json数据实例化 生存bbb对象
var arr=new classA(item.warehousename,item.batch,item.code,item.name,item.num,item.fnum,item.unit,item.unit2,item.cfree1,item.cfree2,item.cfree3)
//将传来了json数据实例化 生存bbb对象
var arr1=new classA(item.warehousename,item.batch,item.code,item.name,item.num,item.fnum,item.unit,item.unit2,item.cfree1,item.cfree2,item.cfree3)
// var items = arr.cinvcode;
var unit = item.cfree1 + item.cfree2 + item.cfree3;
//判断元素是否存在于Arraylist中,如果不存在则插入到Arraylist的最后,存在则不加 叠加其数量
$.each(Arraylist, function(i, item2){
var unit2 = item2.cfree1 + item2.cfree2 + item2.cfree3;
//判断是否同规格物料
if(unit == unit2){
a = 1;
//数量相加
item2.num = parseFloat(item2.num) + parseFloat(arr.num);
if(item2.fnum !=undefined && item2.fnum !=""){
item2.fnum = parseFloat(item2.fnum) + parseFloat(arr.fnum);
}
}
});
//判断元素是否存在于Arraylist2中,如果不存在则插入到Arraylist的最后,存在则不加 叠加其数量
$.each(Arraylist2, function(i, item3){
var unit3 = item3.cfree1 + item3.cfree2 + item3.cfree3;
//判断是否同规格物料
if(unit == unit3&& item3.warehousename == arr1.warehousename&& item3.batch == arr1.batch){
alert("11");
b = 1;
//数量相加
item3.num = parseFloat(item3.num) + parseFloat(arr1.num);
if(item.fnum !=undefined && item.fnum !=""){
item3.fnum = parseFloat(item3.fnum) + parseFloat(arr1.fnum);
}
}
});
alert("1:"+ arr.num);
if(b == 0){
Arraylist2.push(arr);
}
if(a == 0){
Arraylist.push(arr1);
}
});
$.each(Arraylist, function(i, item){
var htmlunit2="";//规格查询HTML代码
var unit = item.cfree1 + item.cfree2 + item.cfree3;
name2 = item.name;
//拼接规格
if(item.cfree1!=undefined && item.cfree1!=""){
htmlunit2+=item.cfree1+"CM";
}
if(item.cfree2!=undefined && item.cfree2!=""){
htmlunit2+=" * "+item.cfree2+"M";
}
if(item.cfree3!=undefined && item.cfree3!=""){
htmlunit2+=" * "+item.cfree3+"卷/箱";
}
if(item.fnum ==undefined && item.fnum==""){
item.fnum = "无";
item.unit2 = "无"
}else{
var y = parseFloat(item.fnum);
item.fnum = y.toFixed(2);
}
var x = parseFloat(item.num);
item.num = x.toFixed(2);
html2+='<div class="stockMain" >'+
'<div style="width: 100%;height: 70px;background-color:beige;margin-top: 5px;" onclick="downIcon(this)">'+
'<div class="mainTitle" style="float: left;width: 80%;">'+
'<div class="timeItem bgf5 mui-slider-handle" style="transform: translate(0px, 0px);margin-right: 13%;">'+
'<div class="itemTitle">规 格:<div class="right">'+ htmlunit2 +'</div></div>'+
'<div class="itemTitle">主计量量: <div class="right">'+item.num+'</div><span class="unit">'+item.unit+'</span></div>'+
'<div class="itemTitle">辅计量量: <div class="right">'+item.fnum+'</div><span class="unit">'+item.unit2+'</span></div>'+
'</div>'+
'</div>'+
'<div class="downIcon" style="width: 10%; float: right;margin-top:30px;margin-left: 20px;">'+
'<img src="image/drop_down_icon.png" class="imgurl">'+
'</div>'+
'</div>'+
'<ul class="timeUl" style="width: 100%;display: none;">'+
'<input class="divtype" type="hidden" value="0"/>'+
'<li class="timeLi" style="margin-top: 5px;" id="materialList" >'+
'<ul class="mui-table-view" id="A'+ unit +'">'+
'</ul>'+
'</li>'+
'</ul>'+
'</div>'
});
$("#htmlList2").append(html2);
$("#ccode2").append(name2);
//规格的具体仓库值
$.each(Arraylist2, function(i, item){
var htmlunit3="";//规格查询HTML代码
var unit = item.cfree1 + item.cfree2 + item.cfree3;
name2 = item.name;
if(item.fnum ==undefined && item.fnum==""){
item.fnum = "无";
item.unit2 = "无"
}else{
var y = parseFloat(item.fnum);
item.fnum = y.toFixed(2);
}
var x = parseFloat(item.num);
item.num = x.toFixed(2);
htmlunit3 = '<li class="mui-table-view-cell mui-transitioning"> '+
'<div class="timeItem bgf5 mui-slider-handle" style="width: 100%;transform: translate(0px, 0px);float:left;">'+
'<div class="itemTitle">物料批次:<div class="right2">'+ item.batch +'</div></div>'+
'<div class="itemTitle">仓 库:<div class="right2">'+ item.warehousename +'</div></div>'+
'<div class="itemTitle">主计量量: <div class="right2">'+ item.num +'</div><span class="unit">'+ item.unit +'</span></div>'+
'<div class="itemTitle">辅计量量: <div class="right2">'+ item.fnum +'</div><span class="unit">'+ item.unit2 +'</span></div>'+
'</div>'+
'</li>';
$("#A"+ unit).append(htmlunit3);
// alert(unit);
// alert($("#A"+ unit).html())
});