admin管理员组

文章数量:1221288

    var arr = [
                     {id:2,date:'2010-10-03',des:'goodday'},
                     {id:3,date:'2011-02-13',des:'badday'},
                     {id:4,date:'2011-04-03',des:'niceday'}
                   ];

Now I want to delete {id:3,date:'2011-02-13',des:'badday'} , and then the arr should be

        var arr = [
                     {id:2,date:'2010-10-03',des:'goodday'},
                     {id:4,date:'2011-04-03',des:'niceday'}
                   ];

How should I do?

    var arr = [
                     {id:2,date:'2010-10-03',des:'goodday'},
                     {id:3,date:'2011-02-13',des:'badday'},
                     {id:4,date:'2011-04-03',des:'niceday'}
                   ];

Now I want to delete {id:3,date:'2011-02-13',des:'badday'} , and then the arr should be

        var arr = [
                     {id:2,date:'2010-10-03',des:'goodday'},
                     {id:4,date:'2011-04-03',des:'niceday'}
                   ];

How should I do?

Share Improve this question asked Apr 12, 2011 at 2:59 CynialCynial 6808 silver badges23 bronze badges
Add a comment  | 

3 Answers 3

Reset to default 15

Assume the id fields in you Objects are unique you can do the following to delete it. The function to use is Splice:

    var arr = [
        {
        id: 2,
        date: '2010-10-03',
        des: 'goodday'},
    {
        id: 3,
        date: '2011-02-13',
        des: 'badday'},
    {
        id: 4,
        date: '2011-04-03',
        des: 'niceday'}
    ];

    for(var i=0; i<arr.length; i++){
        if(arr[i].id == 3){
            arr.splice(i, 1);  //removes 1 element at position i 
            break;
        }
    }

console.log(arr);  
//should give you 
//                      var arr = [
//                               {id:2,date:'2010-10-03',des:'goodday'},
//                               {id:4,date:'2011-04-03',des:'niceday'}
//                          ];

See here:

http://wolfram.kriesing.de/blog/index.php/2008/javascript-remove-element-from-array

arr.splice(1,1); will remove the object at arr[1], and arr[2] will slide into its place.

本文标签: javascriptHow to delete an item from array of objectsStack Overflow