根据json中的特定字段分组数据,然后创建元素
Grouping data by specific field from json then create element
下面的代码对数据进行分组并创建元素。然而却错过了最后一组。我觉得我的循环不好。
data:
[
{"GROUPID":"A","QTY":3,"STORE":"NYC"},
{"GROUPID":"A","QTY":4,"STORE":"CT"},
{"GROUPID":"B","QTY":2,"STORE":"NJ"},
{"GROUPID":"B","QTY":5,"STORE":"NJ"},
{"GROUPID":"C","QTY":1,"STORE":"MA"}
]
所以我的分组就像
A nj -3 NJ-4
bma -1 CT - 4
C NJ-5
success: function(msg) {
var c = jQuery.parseJSON(msg.d);
var myGroupid = c[0].GROUPID;
var mList = "";
var sum = "";
for (var i = 0; i < c.length; i++) {
currentGroup = c[i].GROUPID;
if ((currentGroup !== myGroupid) {
//compare if current record's group id is different than previous record.
//if so, then means a new group. Send to plugin.
//call groupPlugin(myGroupid,mList)
}
mList += '<li'
" data-group=" ' + c[i].GROUPID + '" data-store="' + c[i].STORE +'"</li>'
}
}
我希望我正确理解了你的问题。我会这样写:
groups = [];
for (var i = 0; i < c.length; i++) {
var groupID = c[i].GROUPID;
if(groups[groupID]=="undefiend"){
groups[groupID]=[];
}
groups[c[i].GROUPID].append(c[i]);
}
最后,你将得到一个关联数组groups
,其中包含所有由它们的groupID
则得到一组(即a)的所有元素
var group = groups["A"];
for (i=0;i<group.length;i++){
console.log(group[i].STORE;
}
相关文章:
- AngularJS加载JSON数据,然后从中解析/加载HTML
- 构建空图表,然后设置它's数据
- 如何使用javascript验证表单中的数据,然后调用php页面
- 使用JavaScript或AJAX从HTML表单中提取数据,然后将其传递给PHP
- 如何在状态输入ui路由器时立即显示模板,然后当承诺被解决时显示数据
- 在输入字段中选择一个值,然后用相应的数据填充另一个字段
- 如何将 Oracle 数据转换为 JSON,然后在 JavaScript 中使用
- Angular js,在选择元素上,我想 POST 数据以将其保存在数据库中,然后我想使用 PUT 更新它而无需重新加载
- 将普通的 PNG 图像转换为 JSON 数据,然后存储到对象
- 从select中选择一个选项,然后使用Codeigniter在另一个选择框上显示数据
- jquery替换DIV数据,然后跟踪对它的点击
- 如何从网站获取数据,然后显示在英特尔 XDK 页面中
- 从页面上点击的链接中删除数据,然后移动到下一页&在CasperJS中重复
- 使用AJAX获取JSON数据,然后通过HTML上的ElementID输出数据
- 使用 jquery 从 php 获取数据,然后再次传递给 php
- 如何将数据保存在一个 HTML 页面中,然后在 Phonegap 中的另一个 HTML 页面上显示
- JQuery 暂停表单提交,添加帖子数据,然后提交
- PHP Yii-单击列表然后显示模式中单击的列表的完整数据
- Asp.net MVC 3过滤数据然后传递到JSON中
- 用Ajax加载HTML vs.用Ajax加载数据然后用Javascript构建HTML