我正在尝试使用 AngularJS 将两个文本字段值传递到数组中,但我还想检查传递的第一个值是否已存在于数组中。如果是,我不想再添加它,如果它不存在,则添加值。我可以让它添加值,但我在尝试检查数组中是否已经存在姓氏值时遇到了困难。我找到了一些我试图遵循的例子,但我似乎无法让它们发挥作用。感谢您的帮助!
<div class="panel-body">
<div ng-controller="TodoCtrl">
<ul>
<li li ng-repeat="todo in todos">
{{todo.text}}, {{todo.name}}
</li>
</ul>
<form class="form-horizontal">
<input type="text" ng-model="formTodoLast" ng-model-instant>
<input type="text" ng-model="formTodoFirst" ng-model-instant>
<button class="btn" ng-click="addTodo()"><i class="icon-plus"></i>Add</button>
</div>
</div>
待办事项
function TodoCtrl($scope) {
$scope.todos = [];
$scope.addTodo = function () {
if($scope.todos.indexOf(text:$scope.formTodoLast) == -1) {
$scope.todos.push({text:$scope.formTodoLast, name:$scope.formTodoFirst});
$scope.formTodoText = ' ';
$scope.formTodoName = ' ';
}
}
}
最佳答案
正如 Craig 所说,您需要这样遍历数组
var addToArray=true;
for(var i=0;i<$scope.todos.length;i++){
if($scope.todos[i].text===$scope.formTodoLast){
addToArray=false;
}
}
if(addToArray){
$scope.todos.push({text:$scope.formTodoLast, name:$scope.formTodoFirst});
}
$scope.formTodoText = ' ';
$scope.formTodoName = ' ';
关于javascript - Angularjs检查数组中是否存在传递值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22178199/