Sabemos como remover um item de uma Array em JavaScript usando o método splice, mas algumas vezes queremos remover este item pelo seu valor, e não pela sua posição.
A aparente solução seria varrer esta Array procurando pelo elemento que “bata” com o valor pelo qual precisamos remover.
Preparei esta pequena função em JavaScript para remover um item qualquer de uma Array dada pelo seu valor, usando a maneira mais otimizada que pude, como segue:

function removeItem(ar, item)
{
    return ar.join(';').
             replace(new RegExp("(^|;)"+item+"(;|$)"), ';').
             replace(/(^;)|(;$)/g, '').
             split(';');
}

Esta função de uma única linha JavaScript retorna uma array ja com o elemento especifico removido pelo seu valor.

Espero que acabe ajudando alguem.