首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在两个数组中找到差异

在两个数组中找到差异
EN

Stack Overflow用户
提问于 2015-04-03 12:24:06
回答 6查看 166关注 0票数 1

我有两个排列的电子邮件地址,我试图找出两者的区别。其中一个数组包含当前电子邮件地址。另一个包含当前组成员的电子邮件地址。我正在用当前的电子邮件地址更新组列表,并删除不在当前电子邮件地址中的组中的地址。我无法思考如何让我的for循环来完成这个任务。到目前为止我的密码是..。

代码语言:javascript
复制
for(i = 0; i < GROUP_USERS.length; i++){
    var currentMember = GROUP_USERS[i];
    for(x = 0; x < DOMAIN_USERS.length; x++){
      if(DOMAIN_USERS[x] != currentMember){
        continue;
      } else {

      }
    }

看来我需要测试我的循环结束了什么的。

编辑

我正在使用Google脚本(SDK)。我将不得不将所有需要删除的电子邮件推送到一个数组中,然后使用GroupApps类从组中删除这些电子邮件。然后,我将需要将尚未驻留在组中的DOMAIN_USERS电子邮件地址推到组中。因此,基本上,我将有两个数组。一组需要从组中删除的电子邮件和一组需要添加到组中的电子邮件。希望这更有意义。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2015-04-03 12:32:34

您需要创建另一个变量来检查currentMember是否存在于DOMAIN_USERS数组中,然后可以从GROUP_USERS数组中删除它。

代码语言:javascript
复制
for (i = 0; i < GROUP_USERS.length; i++) {
    var currentMember = GROUP_USERS[i];
    var isContain = false;

    for (x = 0; x < DOMAIN_USERS.length; x++) {
        if (DOMAIN_USERS[x] == currentMember) {
            isContain = true;
        }
    }
    if (!isContain) {
        emailTobeRemove.pop(currentMember);
        i--;
    }
}
票数 2
EN

Stack Overflow用户

发布于 2015-04-03 12:55:11

除非我误解了逻辑,否则同样的结果可以用

代码语言:javascript
复制
GROUP_USERS = DOMAIN_USERS;
票数 1
EN

Stack Overflow用户

发布于 2015-04-03 12:53:22

如果我正确地理解了您想要从GROUP_USERS中删除不在DOMAIN_USERS中的所有电子邮件地址,那么将DOMAIN_USERS中没有在GROUP_USERS中的电子邮件地址添加到GROUP_USERS数组中,对吗?

您可以首先创建一个“contains”函数(为了便于压缩,您可以使用它而不是indexOf()):

代码语言:javascript
复制
function contains(arr, val) {
   for (var i = 0; i < arr.length; i++) {
      if (arr[i] === val) {
        return true;
      }
   }
   return false;
}

然后从GROUP_USERS中删除不在DOMAIN_USERS中的所有电子邮件地址。在for循环中:

代码语言:javascript
复制
for(i=0;i < GROUP_USERS.length; i++) {
    if(!contains(DOMAIN_USERS, GROUP_USERS[i])) {
        GROUP_USERS.splice(i, 1);
    }
}

然后,另一个for-循环将从DOMAIN_USERS添加到GROUP_USERS:

代码语言:javascript
复制
for(i=0; i < DOMAIN_USERS.length; i++) {
    if(!contains(GROUP_USERS, DOMAIN_USERS[i])) {
        GROUP_USERS.push(DOMAIN_USERS[i]);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29432148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档