Przyjrzałam się temu obiektowi i przede wszystkim, to nie jest poprawna struktura JSON.
Sugeruje, abyś użył takiej struktury:
var testObj1 = [
{"id":1,"name": "dfsd"},
{"id":9,"name": "dfsd"},
{"id":3,"name": "tyyht"},
{"id":8,"name": "cvbc"}
/...
]
//sortowanie
testObj1.sort(function(a,b){
return a.id - b.id;
});
Jeśli chodzi o sortowanie obiektu, który masz, to tablice kluczy musisz posortować wg. zdefiniowanej funkcji:
for (var k in testObj1) {
keys.push(+k);
}
function sortNumber(a,b) {
return a - b;
}
keys.sort(sortNumber);
//posortowane wartosci
for (var i = 0; i < keys.length; i++) {
var k = keys[i];
console.log(k + ':' + myObj[k.toString()]);
}