Javascript 在数组中查找缺少的组成员

Javascript 在数组中查找缺少的组成员,javascript,arrays,Javascript,Arrays,我有四个列表-两个用于用户,两个用于组。我必须检查第一个用户列表中的用户是否是第二个列表中没有的用户 我的代码: importPackage(java.io); importPackage(java.lang); var list1 = "Han SOLO, Luke SKYWALKER, Darth VADER, Boba FETT".split(', ') ,list2 = "Luke SKYWALKER, Han SOLO, Lando CALRISSIAN, Boba FETT".sp

我有四个列表-两个用于用户,两个用于组。我必须检查第一个用户列表中的用户是否是第二个列表中没有的用户

我的代码:

importPackage(java.io);
importPackage(java.lang);

var list1 = "Han SOLO, Luke SKYWALKER, Darth VADER, Boba FETT".split(', ')
,list2 = "Luke SKYWALKER, Han SOLO, Lando CALRISSIAN, Boba FETT".split(', ')
// group lists
,group1 = "Group1, Group1, Group1, Group2".split(', ')
,group2 = "Group1, Group1, Group2, Group2".split(', ')
,j = 0
,msg = "";

   for(var j = 0; j < list2.length; j++) {

      if (list1.indexOf(list2[j]) == -1)
         msg = msg + list1[j] + " has been added to " + group1[j] + "<br />";

   }

print(msg); 
结果为空,但应为:

达斯·维德已被添加到第1组


我想知道我应该修改什么,以更正第二个脚本(两个用户列表相同)。

您可以在检查之前做一些准备:

1) 按用户分组,如

function group(users, groups) {
  var result = {};
  for (var i = 0; i < users.length; i++) {
    var user = users[i];
    if (!result[user]) result[user] = {};
    result[users[i]][groups[i]] = true;
  }
  return result;
}
因此,我们有类似对象的

{
    "Han SOLO": [],
    "Luke SKYWALKER": [],
    "Darth VADER": [
        "Group1"
    ],
    "Boba FETT": []
}
因此,通过简单的循环,我们可以获得关于不同类型的所有信息

var msg = '';

for (var i in res) {
  if (res[i].length) {
    msg += 'user ' + i + ' added in group: ' + res[i].join() + '<br>';
  }
}
var msg='';
for(在res中的var i){
if(res[i].长度){
msg+='user'+i+'添加到组:'+res[i].join()+'
'; } }
var list1=“汉·索洛、卢克·天行者、达斯·维德、波巴·费特”。拆分(“,”),
list2=“卢克·天行者、汉·索洛、达斯·维德、波巴·费特”。拆分(“,”)
//组列表
,
group1=“group1,group1,group1,Group2”。拆分(','),
group2=“Group1,Group1,group2,group2”。拆分(',');
功能组(用户、组){
var result={};
对于(var i=0;i';
}
}
document.getElementById('res').innerHTML=msg

?对不起,我不明白这个链接是什么意思。如果您查看控制台,您会看到消息
达斯维德已添加到Group1
是,这就是我实际得到的。但是,当两个列表中都有达斯·维德时,但在两个不同的组中,则消息为空。那么,您能否进一步解释一下如何进行检查?
{
    "Han SOLO": [],
    "Luke SKYWALKER": [],
    "Darth VADER": [
        "Group1"
    ],
    "Boba FETT": []
}
var msg = '';

for (var i in res) {
  if (res[i].length) {
    msg += 'user ' + i + ' added in group: ' + res[i].join() + '<br>';
  }
}