JavaScript
var data = [{
"Body Weight": 114,
" Untrained": 80,
" Novice": 145,
" Intermediate": 175,
" Advanced": 240,
" Elite": 320
}, {
"Body Weight": 123,
" Untrained": 85,
" Novice": 155,
" Intermediate": 190,
" Advanced": 260,
" Elite": 345
}, {
"Body Weight": 132,
" Untrained": 90,
" Novice": 170,
" Intermediate": 205,
" Advanced": 280,
" Elite": 370
}, {
"Body Weight": 148,
" Untrained": 100,
" Novice": 190,
" Intermediate": 230,
" Advanced": 315,
" Elite": 410
}, {
"Body Weight": 165,
" Untrained": 110,
" Novice": 205,
" Intermediate": 250,
" Advanced": 340,
" Elite": 445
}, {
"Body Weight": 181,
" Untrained": 120,
" Novice": 220,
" Intermediate": 270,
" Advanced": 370,
" Elite": 480
}, {
"Body Weight": 198,
" Untrained": 125,
" Novice": 230,
" Intermediate": 285,
" Advanced": 390,
" Elite": 505
}, {
"Body Weight": 220,
" Untrained": 130,
" Novice": 245,
" Intermediate": 300,
" Advanced": 410,
" Elite": 530
}, {
"Body Weight": 242,
" Untrained": 135,
" Novice": 255,
" Intermediate": 310,
" Advanced": 425,
" Elite": 550
}, {
"Body Weight": 275,
" Untrained": 140,
" Novice": 260,
" Intermediate": 320,
" Advanced": 435,
" Elite": 570
}, {
"Body Weight": 319,
" Untrained": 145,
" Novice": 270,
" Intermediate": 325,
" Advanced": 445,
" Elite": 580
}, {
"Body Weight": 320,
" Untrained": 150,
" Novice": 275,
" Intermediate": 330,
" Advanced": 455,
" Elite": 595
}];
alert(getClosest(180)["Body Weight"]);
function getClosest(x) {
for (var i = data.length - 1; i > -1; i--) {
if (x > data[i]["Body Weight"]) break
}
if (i === data.length - 1) return data[i];
if (i === -1) return data[0];
return data[i + +(x > ((data[i]["Body Weight"] + data[i + 1]["Body Weight"]) /...