Simplemente busca el dato en el array ya sea con el método
indexOf
(nativo de JavaScript) o con el método
inArray
de jQuery. Si el dato se encuentra en el array, lo retiras del mismo con el método
splice
, caso contrario, lo insertas con el método
push
.
Código Javascript
:
Ver originalvar array = []; //El array
$(".btn").on("click", function() {
var id = $(this).attr('data'),
pos = $.inArray(id, array);
if (pos > -1)
array.splice(pos, 1);
else
array.push(id);
});
Cualquiera de los dos métodos de búsqueda en arrays devuelve la posición del elemento si este se encuentra o -1 si no está, por eso es que en la condición verifico que el valor obtenido sea mayor a -1 para saber si el dato en cuestión ya está en el array.
Saludos