Matrizes associativas multidimensionais em JavaScript

Existem os seguintes resultados da consulta: (key1 e key2 podem ser qualquer texto)

id   key1     key2     value

1    fred     apple    2
2    mary     orange   10
3    fred     banana   7
4    fred     orange   4
5    sarah    melon    5
...

e desejo armazenar os dados em uma grade (talvez como uma matriz)looping todos os registros como este:

         apple    orange   banana  melon
fred        2        4         7     -
mary        -        10        -     -
sarah       -        -         -     5

No PHP, isso seria muito fácil, usando matrizes associativas:

$result['fred']['apple'] = 2;

Mas em JavaScript matrizes associativas como essa não funcionam. Depois de ler toneladas de tutorial, tudo que consegui foi o seguinte:

arr=[];
arr[1]['apple'] = 2;

masarr['fred']['apple'] = 2; não funciona Tentei matrizes de objetos, mas as propriedades dos objetos não podem ser texto livre. Quanto mais lia os tutoriais, mais me confundia ...

Qualquer idéia é bem-vinda :)

questionAnswers(9)

yourAnswerToTheQuestion