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 ?
}
});
}
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With