Home > database >  Problem AngularJS checking if an object has a specific value
Problem AngularJS checking if an object has a specific value

Time:12-02

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.

.find() from MDN

  • Related