Мое решение было таким
var input = {
ru: {
pos:1,
title:'Русский'
},
en: {
pos:3,
title:'English'
},
de: {
pos:2,
title:'Deutsch'
}
};
var output = [];
for (key in input) {
if (input.hasOwnProperty(key)) {
output[input[key].pos - 1] = input[key];
output[input[key].pos - 1].code = key;
delete output[input[key].pos - 1].pos;
}
}
alert(JSON.stringify(output));