$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;
}
}
Đây là mã của tôi để xóa các 'làm' todos từ một mảng, nhưng khi hai todos sau mỗi khác được loại bỏ, nó chỉ loại bỏ các thứ hai. Tôi nghĩ rằng đó là vì chức năng ghép nối reset và trả về mảng ghép nối.Javascript nối chức năng bên trong vòng lặp foreach decrements index
Có, '.splice()' đột biến một mảng. Điều này cần phải được tính toán nếu sử dụng lặp lại chuyển tiếp. –