Вот скромный, но успешный примерный перевод элегантного решения Ори Дрори на coffeescript :
a = {}
a.b = [1, 4, 3]
a.c = [ "a", "b", "c"]
mapByIndex = (arr, indexes) -> _.map(arr, (_, idx) -> arr[indexes[idx]])
i = _.map(a.b, fct = (n, i) -> [n, i])
i = _.sortBy(i,"0")
i = _.map(i, "1")
i = i.reverse()
i = _.mapValues(a, fct = (v) -> if _.isArray(v) then mapByIndex(v, i) else v)
debug _.keys(i) # b,c
debug _.values(i) # 4,3,1,b,c,a
debug i.b # 4,3,1
debug i.c # b,c,a