jQuery remove item from serialized array
11,414
Solution 1
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+.
Solution 2
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);
Author by
Spencer Mark
Updated on July 26, 2022Comments
-
Spencer Mark almost 2 years
I'm trying to figure out how to remove item from serializedArray by using the index. The following scenario:
[ { 'name' : 'item1', 'value' : '1' }, { 'name' : 'item2', 'value' : '2' }, { 'name' : 'item3', 'value' : 3 } ]
Now I would like to remove 'item2' - I can use the following function - but not sure how to remove it - is there some sort of unset() method or something like this:?
serializeRemove : function(thisArray, thisName) { "use strict"; $.each(thisArray, function(index, item) { if (item.name == thisName) { // what to do here ? } }); }
-
Kevin B over 11 yearsWhere does this serialzed array come from? could you exclude it from the collection that creates this serialized array?
-
-
Salman A over 11 yearsKeep in mind that the length of array remains unaffected -- which may not be desired.
-
Cymen over 11 yearsGood point -- there are other options that will decrease the length: stackoverflow.com/questions/500606/…
-
fudu almost 5 years"delete array[index];" should be "delete thisArray[index]; " to make this work