if(!self.isSelected(o)){ self.select(n); return; } var idx=-1; for(var i=0; i<self.selected.length; i++){ if(self.selected[i]==o){ idx=i; break; } } if(idx>-1){ self.selected.splice(idx,1,n); }