Con esta función podrás eliminar fácilmente elementos de un array usando el valor como referencia, todas las apariciones o solamente la primera.

Eliminar todas las apariciones de un valor en un array

function arraydeleteallvalue(array,valor){

	for(var i = array.length - 1; i >= 0; i--) {
	
        if(array[i] === valor) {
        
           array.splice(i, 1);
           
        }
        
    }

}
var array = [1,1,1,2,2,3];

arraydeleteallvalue(array,1);

//Resultado: 2,2,3

Eliminar la primera aparición de un valor en un array

function arraydeletebyvalue(array,valor){

	var pos = array.indexOf(valor);
	pos > -1 && array.splice( pos, 1 );
	return array;

}
var array = [1,1,1,2,2,3];

arraydeletebyvalue(array,1);

//Resultado: 1,1,2,2,3

Si te ha sido de utilidad ¡deja un comentario! 🙂