我想要一种比较两个数组的简单方法。一个数组有一个电子邮件列表,另一个数组是完成表单的电子邮件列表。我想返回一份尚未填写表格的人员名单。这是我的功能,但效果很慢。
function findMissingUsers() {
var sheet = getSheet();
users = [array of all emails];
completedUsers = [array of emails who completed form];
users.forEach(function (row) {
completedUsers.forEach(function (user) {
if(row.Email != user.Username) {
console.log(row);
}
});
});
}
试图找到一种更有效的方法。
答案 0 :(得分:1)
答案 1 :(得分:0)
您可以使用例如lodash
库和_.difference
函数。详情here。
答案 2 :(得分:0)
你可以这样做:
var incompletedUsers = users.filter(function(user){
return completedUsers.every(function(completedUser){
return user.Email !== completedUser.Username;
});
});