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