ho notato una cosa:
codice:
var arrSti = new Array();
function filtroAjax(sti) {
    if($('.chk_sti').is(':checked')) {
        arrSti.push(sti);
    } else {
        arrSti.splice(arrSti.indexOf(sti), 1);
        console.log(arrSti.indexOf(sti)); // SEMPRE -1
    }
    console.log(arrSti.toString())
}
ho aggiunto la riga con il commento.
in pratica mi restituisce sempre -1, il che vorrebbe dire che non trova l'elemento nella lista se non sbaglio.
secondo voi perchè??