把json对象数组属性相同的进行分组,然后取值
2015-12-03 12:59
816 查看
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); } }
相关文章推荐
- jsp include指令元素
- jsp技术
- Callback Hell-Javascript异步编程指导
- #学习笔记#(4)输入框提示信息不能为空--JavaScript改变CSS样式
- Javascript 严格模式详解
- 比较两种数组随机排序方法的效率 JavaScript版
- 继续学习javascript闭包
- jsp 日期标签的使用
- 解决js页面滚动效果scrollTop在FireFox与Chrome浏览器间的兼容问题的方法
- Newtonsoft.Json(Json.Net)学习笔记
- js获取当前时间
- 序列化模块之 pickle 和 json
- jsp ajax实例讲解
- 在jsp中运用ajax(简单入门)
- jsp 清除session的方法
- JavaScript碰到的几个方法
- js对象序列化和反序列化
- Ext js 新知识:grid.getSelectionModel()
- javascript基础
- js向jsp页面循环放值