Хихи...это у меня косяк в коде, оказалось что я ключ вообще не передавал в переменную
собственно и получалось что я делаю примерно так
var temp = [];
temp[] = 0;
//a должна быть равна -1, а по факту она не определена
temp[a] = temp[a]+1;
//по факту получалось следующее
temp[] = temp[]+1;
temp[] = temp[]-1;