Reputation: 680
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?
Upvotes: 7
Views: 9897
Reputation: 104760
arr.splice(1,1);
will remove the object at arr[1]
,
and arr[2]
will slide into its place.
Upvotes: 0
Reputation: 17169
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'}
// ];
Upvotes: 15
Reputation: 18125
See here:
http://wolfram.kriesing.de/blog/index.php/2008/javascript-remove-element-from-array
Upvotes: 1