reverse indexing with an object in javascript.
//reverse indexes strings.
function reverseIndex(string){
var dict = {};
for(var i=0;i<string.length;i++){
if (string[i] in dict){
dict[string[i]].push(i);
}
else {
dict[string[i]] = [i];
}
}
return dict;
}
/* reverseIndex("+(5, 6)-(7, 8)")
=> { '5': [ 2 ],
'6': [ 5 ],
'7': [ 9 ],
'8': [ 12 ],
'+': [ 0 ],
'(': [ 1, 8 ],
',': [ 3, 10 ],
' ': [ 4, 11 ],
')': [ 6, 13 ],
'-': [ 7 ] }
reverseIndex("+(5, -(5, 3))")
=> { '3': [ 10 ],
'5': [ 2, 7 ],
'+': [ 0 ],
'(': [ 1, 6 ],
',': [ 3, 8 ],
' ': [ 4, 9 ],
'-': [ 5 ],
')': [ 11, 12 ] }*/