1
我目前正在编写一个小函数,以便从输入字段获取$ scope值,然后将其添加到包含受邀用户的新数组中。
为了防止重复的条目进入数组我试图使用JavaScript的过滤方法。
我的问题是当我看什么是输出到控制台,过滤器函数内的console.log总是打印相同的电子邮件值,它似乎没有更新,并考虑新的输入。例如用户添加了2个用户,第一个将被添加,并且invitesArr将仅包含第一个电子邮件。
var invitesArr = $scope.invites;
console.log(invitesArr)
console.log($scope.searchContacts)
if ($scope.invites.length >= 0) {
invitesArr.filter(function(invitesArr) {
console.log(invitesArr.Email)
return invitesArr.Email === $scope.searchContacts;
});
if (invitesArr == false) {
courseAccountService.inviteGuestToCourse($scope.courseId,$scope.searchContacts).
then(function(invitation) {
$scope.invites.push(invitation);
});
}
}
任何使用相同变量** invitesArr **的数组,内部过滤器函数和布尔条件的具体原因 –
不是,我只需要检查Email值是否具有与原始数组相匹配的值。例如,如果$ scope.invites包含x,那么我需要检查新的$ scope.searchContacts是否与x匹配 – theHussle