$scope.clearCompleted = function()
{
angular.forEach($scope.todos, function(todo, i)
{
if(todo.done)
{
$scope.todos.splice(i, 1);
}
});
if($scope.todos.length == 0)
{
$scope.isEmpty = true;
}
}
Questo è il mio codice per eliminare il 'fatto' todos da una matrice, ma quando due todos dopo l'altro vengono rimossi, si rimuove solo il secondo. Penso che sia perché la funzione splice si resetta e restituisce l'array spliced.JavaScript funzione splice all'interno ciclo foreach decrementa indice
Sì, '.splice()' muta di un array. Questo deve essere tenuto in considerazione se si utilizza una iterazione diretta. –