Hay una solución simple con empalme. De acuerdo con W3School sigue la sintaxis de empalme;
array.splice(index, howmany, item1, ....., itemX)
índice de requeridos. Un número entero que especifica en qué posición agregar/eliminar elementos, Usar valores negativos para especificar la posición desde el final de la matriz
howmany Requerido. La cantidad de elementos que se eliminarán. Si se establece en 0, no se eliminarán elementos
artículo1, ..., artículoX Opcional. Los nuevos elementos que se agregarán a la matriz
Tenga esto en cuenta, las siguientes js extraerán uno o más elementos coincidentes de la matriz dada si se encuentran, de lo contrario no eliminarían el último elemento de la matriz.
var x = [1,2,3,4,5,4,4,6,7];
var item = 4;
var startItemIndex = $.inArray(item, x);
var itemsFound = x.filter(function(elem){
return elem == item;
}).length;
O
var itemsFound = $.grep(x, function (elem) {
return elem == item;
}).length;
Así que el final debe ser similar al siguiente
x.splice(startItemIndex , itemsFound);
Espero que esto ayude.
** ** ADVERTENCIA: algunas de las respuestas más upvoted podría tener efectos secundarios, por ejemplo, haciendo operaciones incorrectas cuando la matriz no contiene el elemento a eliminar. * Utilícelos con cuidado *. – Ricardo
Esta respuesta funcionó para mí, con javascript simple: http://stackoverflow.com/a/5767357/4681687 – chimos