Javascript动态分组 [英] Javascript Dynamic Grouping

查看:112
本文介绍了Javascript动态分组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试创建一个表,其中包含一些分组标题。
当我有1个组时,一切都很好,但是如何创建动态组?

I am trying to create a table, with some grouping headers. All is well when i have 1 group, but how do i create dynamic groups?

这是我迄今为止(1组):

This is what i have so far (for 1 group):

var groupby = '';
arrdata.each(function(element){
    if (groupby != element.groupby) {
        groupby = element.groupby;
        tbody.push(groupby)
    }
    tbody.push(element)
})

使其创建动态组?

推荐答案

您可以将它们分组为 Object first:

You could group them into an Object first:

Array.prototype.groupBy = function(keyName) {
  var res = {};
  this.forEach(function(x) {
    var k = x[keyName];
    var v = res[k];
    if (!v) v = res[k] = [];
    v.push(x);
  });
  return res;
};

然后为..通过对象:

var employees = [{first: ..., last: ..., job: ...}, ...];
var byJob = employees.groupBy('job');
for (var job in byJob) {
  document.write('<h3>Job: '+job+'</h3>');
  byJob[job].forEach(function(e) {
    document.write('<p>'+e.last+', '+e.first+'</p>');
  });
}

这篇关于Javascript动态分组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆