计算列中的唯一域名

时间:2017-04-24 15:37:43

标签: google-apps-script

我写了一个谷歌应用程序脚本,从AdminDirectory API

获取G Suite(谷歌应用程序)用户

在输出时,我在每个用户面前获取域名(用于替换从每个用户电子邮件ID中提取域名)。

我想做什么 - : 1.计算一列中每个域的用户数,因此最终结果应如下所示:

专栏 - I(exaxple) domainA.com = 120位用户 domainB.com = 28位用户 等....

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我认为可能有一种缩短此代码的方法,但这样的方法会起作用。您将不得不弄清楚如何读取正确的列并输出到正确的列,但希望这会有所帮助:

var emails = [
  'someone@testA.com',
  'someone@testB.com',
  'someone@testA.com',
  'someoneelse@testA.com'
];

function countDomains() {
  var domainCounts = {};

  var domains = emails.map(function(domain) {return domain.split('@')[1];});

  domains.forEach(function(each) {
    if(domainCounts.hasOwnProperty(each)) {
      domainCounts[each]++;
    } else {
      domainCounts[each] = 1;
    }
  });

  Logger.log(domainCounts);
}