I have JSON Object that looks something like the below object, this object can go on for days. So I am wondering is there anyway I can delete full set a set being the equiva
It worker for me.
arrList = $.grep(arrList, function (e) {
if(e.add_task == addTask && e.worker_id == worker_id) {
return false;
} else {
return true;
}
});
It returns an array without that object.
Hope it helps.
You could write a removeFirst function like this:
function removeFirst(arr, func)
{
for (var i=0; i<arr.length; i++)
{
if (func.call(arr[i]))
{
arr.splice(i,1);
return arr;
}
}
}
and then call it:
removeFirst(locations, function(){return this.zipcode=="06238";});
If you want to remove more then one element, you could write it like this:
function removeMany(arr, func)
{
for (var i=arr.length; i>0; --i)
{
if (func.call(arr[i]))
{
arr.splice(i,1);
}
}
return arr;
}
and use it in the same way.
Alternatively, use underscore (http://documentcloud.github.com/underscore) reject method in a similar way:
_.reject(locations, function(location){ return location.zipcode=="06238";});
Underscore is pretty good for doing array manipulations.
Simply just pass the index
delete locations[0];
You go through a normal JSON iteration like this
jQuery.each(locations, function(i, val) {
if(val.zipcode == "yourvalue") // delete index
{
delete locations[i];
}
});
something like that. are you looking for an idea or a complete function.
Here is the jsFiddle