JS数组中,相同对象中数量进行累加!

我的需求:如图:在这里插入图片描述
选择的两个设备一样,数量累加起来之后不能大于库存数量,因为部门选择可能会不同,所以在这没有添加去重的判断。
下面是js中的代码:

var userIds2 = new Array();//定义一个存放设备主键的数组
var userArr=[];//定义一个数组

//下面这个判断的作用是如果主键不存在数组中,将新的数据添加在数组中,然后将数据存在另一个数组中,拖过存在的话,将存在的数据获取到,然后加上本次的数量,累加之后的数量赋值给之前存在的数组
在循环列表中添加的判断

for(var i=0;i<cl;i++){
 var oCells = document.getElementById("beijianList").rows[i];
 var id    = oCells.cells[0].innerHTML;
 var count    = oCells.cells[1].innerHTML;
 var total    = oCells.cells[2].innerHTML;
	if(userIds2.indexOf(id)==-1){
	         userIds2.push(id);
	      	 userArr.push({"id":id,"count":count,"total":total}); 
	      	 //id是主键,标识唯一,count,是输入的数量,total是库存数量
	     }else{
	      	 for(var j=0;j<userArr.length;j++){
				var a = userArr[j].id;
				if(a==id){
					var b = parseFloat(userArr[j].count) + parseFloat(money);
					userArr[j].count=b;
				}
	      }
	  }
  }

//下面这段的作用是:判断每一个设备累加的数量是否大于库存数量,如果大于库存,弹出提示
循环完之后,在for 循环外边添加的字段

for(var i=0;i<userArr.length;i++){
		if(parseFloat(userArr[i].count)>parseFloat(userArr[i].total)){
			alert('输入的数量大于库存数量')
		}
 }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值