underscore.jsを使えばさくっと書ける。
_.chain(document.cookie.split(';')).map(function(x) {return $.trim(x).split('=')}).object().value()
read onlyだけど。
整形すると
var cookie = _.chain(document.cookie.split(';'))
.map(function (x) {
return $.trim(x).split('=')
})
.object()
.value();
こんな感じ。