'How to remove element from json object in angularjs

I am using angularjs to integrate my apis.

I have a grid table and DELETE button in each row.

my controller have following code:

$scope.singleAppDetails = {};

$scope.removeRow = function(detail, index){             

       var delRes =  $http.delete($scope.appUrl + detail.id, detail);
        delRes.success(function (data, status, headers, configs) {
            console.log(data);
        });
        delRes.error(function (data, status, headers, configs) {
            console.log(data);
        });
        $scope.singleAppDetails.splice(index, 1);
    };

and $scope.singleAppDetails contains:

Object {id: "553e20fce4b0f4eb7d13fd13", name: "Amazon", appId: "3ebc86ea-62a7-419f-9f60-dc88b66efa6e", secret: "n9prQ8YSdcxuBAcQ1PX4DUeOUBZoAKqBHnCONrueGoUTE8pqFZ", domain: "e-commerce"}

But i am getting "TypeError: $scope.singleAppDetails.splice is not a function" error in console.



Solution 1:[1]

You get that error because splice is a method for Arrays only and $scope.singleAppDetails is an object in your code.

Solution 2:[2]

splice() is a Array function. See the documents.

You define singleAppDetails as an object:

$scope.singleAppDetails = {};

Answer: Delete the id with:

delete $scope.singleAppDetails.id;

See this example on JSBin.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Adrian Neatu
Solution 2 ohboy21