使用 AngularJS,我正在我的应用程序中创建一个 addTodo 函数。
我似乎无法实现一种方法来检查添加到数组中的对象的唯一性,并使其后跟其他操作。
到目前为止,我能够使其他操作起作用,但不能对唯一性进行初始检查。如何实施检查唯一性操作,然后执行其他操作?
我试图创建这样的流的 addTodo 函数(粗体表示未实现):
- 检查 todo 是否已经在 todos 中 - 1a。如果确实存在,请不要推送,显示警报 
- 检查 todo 是否不为空 - 2a。如果为空,请勿推送,显示警报 
- 如果唯一且不为空,则推送到待办事项,显示成功消息 
当前的 addTodo 函数(没有 unqiueness 检查):
$scope.addTodo = function(){
  $scope.isVisible = true;
  if ($scope.todo) {
    $scope.todos.push($scope.todo);
    $scope.todo = '';
    $scope.alert = $scope.alerts[1];
  }else{
    $scope.alert = $scope.alerts[0];
  }
};
注 1:$scope.alert和$scope.alerts用于显示某些错误信息;
$scope.alerts[0]
“请在您的任务中添加文字。”
$scope.alerts[1]
“增加了一个新任务!”
如果正在添加的任务已经存在,我想显示的警报是
$scope.alerts[3] 
“任务已在列表中。”
注 2:$scope.isVisible切换警报的可见性