把json对象数组属性相同的进行分组,然后取值

var changes = $dg.datagrid('getRows');
                     var effectRow1 =[];
                     var map = {};



//第一个for作用,遍历所有json对象,并存储到数组中
                     for(i=0;i<changes.length;i++){
                        effectRow1["all"]=effectRow1.push(changes[i]);
//                         var a=effectRow1[i].activitiId;
//                         var key = effectRow1[i]['posRow'];
//                         map[key] = map[key] || (map[key] = []);
//                     var map=map[key].push(effectRow1[i]);
                     } 



// 第二个for作用,
                   
  for(i=0;i<effectRow1.length;i++){
                           
//                           //把相同值的属性取出来放进key中  
                             var key =effectRow1[i].posRow;
//                             alert(effectRow1[i]);
//                            //
                             map[key] = map[key] || (map[key] = []);
                      //把json对象进行分组处理,属性值相同的则放进一起,此时map[key]是数组
                         map[key].push(effectRow1[i]);
                         
                         } 

//第三个for作用,遍历map,取出分组后的同名字的所有数据
                    
 for(var name in map){ 
                         
//                          var sum=parseInt(map[name].posCol)+parseInt(map[name].lengths);
                         var sum=0;
//                          此时map[name]是数组类型
                         for(var i = 0;i < map[name].length; i++) {
                             var sum= parseInt(map[name][i].posCol)+parseInt(map[name][i].lengths)+sum;
                             }
                         if(sum>12){
                             top.$.messager.alert(name+"信息", "很抱歉,不能超过12,请检查。", 2000);
                             break;
                         }else{
//   进行相应的动作
                         console.log(name+':'+sum);
                     
                     
                         }
                     
                     } 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值