jQuery remove item from serialized array
You could use vanilla JS' filter()
method like this:
serializeRemove : function(thisArray, thisName) {
"use strict";
return thisArray.filter( function( item ) {
return item.name != thisName;
});
}
filter()
uses the callback function to test each element of the array. If the function returns true
the element will be in the result. If it returns false
, the element will be dropped.
filter()
is supported by all major browsers and IE9+.
You can use delete
which is a standard JavaScript operator: http://jsfiddle.net/2NsUD/
var array = [
{ 'name' : 'item1', 'value' : '1' },
{ 'name' : 'item2', 'value' : '2' },
{ 'name' : 'item3', 'value' : 3 }
];
var arrayClean = function(thisArray, thisName) {
"use strict";
$.each(thisArray, function(index, item) {
if (item.name == thisName) {
delete thisArray[index];
}
});
}
console.log(array);
arrayClean(array, 'item3');
console.log(array);