Google apps script 从列中计算唯一域名

Google apps script 从列中计算唯一域名,google-apps-script,Google Apps Script,我编写了一个GoogleApps脚本,从 在输出时,我得到每个用户面前的域名(用于从每个用户的电子邮件id中提取域名) 我想做什么-: 1.在一列中计算每个域上的用户数,因此最终结果应如下-: 第I列(示例) domainA.com=120个用户 domainB.com=28个用户 等等 非常感谢您的帮助。我认为可能有一种方法可以缩短此代码,但类似的方法可以奏效。您必须了解如何在中读取正确的列并将其输出到正确的列,但希望这将有助于: var emails = [ 'someone@testA

我编写了一个GoogleApps脚本,从

在输出时,我得到每个用户面前的域名(用于从每个用户的电子邮件id中提取域名)

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

第I列(示例) domainA.com=120个用户 domainB.com=28个用户 等等


非常感谢您的帮助。

我认为可能有一种方法可以缩短此代码,但类似的方法可以奏效。您必须了解如何在中读取正确的列并将其输出到正确的列,但希望这将有助于:

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);
}

我认为可能有一种方法可以缩短这段代码,但类似的方法会奏效。您必须了解如何在中读取正确的列并将其输出到正确的列,但希望这将有助于:

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);
}