简体   繁体   中英

Splice or Remove list of elements from JSON Array

I am having a JSON Array Output from REST API like this , I am displaying this items on the HTML using ng-repeat.

var searchresponse = [{
    "items": [{
        "employeeId": "ABC",
        "type": "D",
        "alive": "Yes"

    }, {
        "employeeId": "DEF",
        "type": "D",
        "alive": "Yes"

    }, {
        "employeeId": "NPK",
        "type": "D",
        "alive": "Yes"

    }, {
        "employeeId": "PKN",
        "type": "A",
        "alive": "Yes"
    }],
    "more": false
}];

when user tries to delete using selectall/single select i am calling a REST API to remove the employee id from the db . once i get a successful response i am planning to splice / remove the values that have been selected by the user from the VIEW. I would like to remove the following employeeid and their type,alive removed from the searchresponse

 var data1=["ABC","NPK"];

Whatever the data1 has corresponding details should be removed from the searchresponse

All you need is to eliminate each item from items array whose employeeId is in data1 ,using splice method.

References

 var searchresponse = [{ "items": [{ "employeeId": "ABC", "type": "D", "alive": "Yes" }, { "employeeId": "DEF", "type": "D", "alive": "Yes" }, { "employeeId": "NPK", "type": "D", "alive": "Yes" }, { "employeeId": "PKN", "type": "A", "alive": "Yes" }], "more": false }]; var data1=["ABC","DEF"]; var items=searchresponse[0].items; var i=items.length; while (i--) { if(data1.indexOf(items[i].employeeId)!=-1){ items.splice(i,1); } } console.log(searchresponse[0].items); 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM