Tengo un problemita que no puedo resolver

en teoria deveria ser sencillo pero me esta complicando la vida


Bueno el caso es que necesito ordenar objetos según el valor mas proximo de X
Código Javascript:
Ver original
//Rangos que tengo que reordenar var rank=[ {id:"x1",value:70}, {id:"x2",value:80}, {id:"x3",value:20}, {id:"x4",value:50} ] function OrderForValueAprox(rank, value){ //— } //resultado de valores var res1 = OrderForValueAprox(rank, 20); res1 = [ {id:"x3",value:20}, {id:"x4",value:50}, {id:"x1",value:70}, {id:"x2",value:80} ] var res2 = OrderForValueAprox(rank, 79); res2 = [ {id:"x2",value:80}, {id:"x1",value:70}, {id:"x4",value:50}, {id:"x3",value:20} ] var res3 = OrderForValueAprox(rank, 71); res3 = [ {id:"x1",value:70}, {id:"x2",value:80}, {id:"x4",value:50}, {id:"x3",value:20} ] var res4 = OrderForValueAprox(rank, 45); res4 = [ {id:"x4",value:50}, {id:"x3",value:20} {id:"x1",value:70}, {id:"x2",value:80}, ]
A ver si a alguien se le ocurre de como resolverlo les estaría muy agradecido