I'm trying to avoid duplicates and not be allowed to add empty items. If I send the same titolo (example, Harry Potter) again, I don't want it to be added to the $scope.libri for the second time. How can I check it before adding? This is my code now:
angular .module('myApp', []) .controller('myCtr', function ($scope){
$scope.libri = [{id:'1',titolo:'Harry Potter',genere:'Fantasy',anno:'2001',autore:'J.K.Rowling'},
{id:'2',titolo:'Il nome della rosa',genere:'Giallo',anno:'1994',autore:'Umberto Eco'},
{id:'3',titolo:'Cado dalle nubi',genere:'Commedia',anno:'2014',autore:'Checco Zalone'}];
$scope.add = function () {
$scope.libri.push({
id: $scope.id,
titolo: $scope.titolo,
genere: $scope.genere,
anno: $scope.anno,
autore: $scope.autore
});
$scope.id = ' ';
$scope.titolo = ' ';
$scope.genere = ' ';
$scope.anno = ' ';
$scope.autore = ' ';
};
CodePudding user response:
Just use $scope.libri.find(x => x.titolo === $scope.titolo)
in your add function before pushing to the array.