我有下面的循环,我想知道在AngularJS中是否有更有效的方法来完成这个任务。所以我想循环遍历ListA中的每一项,如果它在ListB中不存在,那么我想把项从ListA推到ListB中。但是break;停止循环,它不会遍历ListA中的所有项
for (item of $scope.ListA) {
let found = false;
for (obj of $scope.ListB) {
if (obj.Name == item.Name
&& obj.Field == item.Field
&& obj.DisplayName == item.DisplayName)
{
found = true;
// console.log("double found !");
break;
}
}
if (!found)
$scope.ListB.push(newObj);
}
我如何使用AngularJS函数来实现这一点?
1条答案
按热度按时间zqry0prt1#
我不知道是否有任何特定的angularjs功能,但是假设
ListA
和ListB
只是javascript数组,您可以使用标准数组方法来简化您的解决方案。例如,这里我使用
array.filter
、array.some
和...
展开运算符:数组方法-https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array