获取值最接近数字X的JSON数据
Get JSON data where value is nearest to number X
我有一个用户输入的数字,x,以及JSON格式的数据列表。
**114** 80 145 175 240 320
**123** 85 155 190 260 345
**132** 90 170 205 280 370
我想将X与第一列中最接近的数字匹配,然后返回该行中的以下值。
不确定我是否以最好的方式格式化了JSON。但这是我到目前为止的内容:http://jsfiddle.net/wuSux/
试试这样:
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}];
var x = 140,
difference = 0,
bestIndex = 0,
bestDifference = Infinity,
i, cur, bodyWeight;
for (i = 0; i < data.length; i++) {
cur = data[i];
bodyWeight = cur["Body Weight"];
difference = Math.abs(x - bodyWeight);
if (difference < bestDifference) {
bestDifference = difference;
bestIndex = i;
}
}
console.log(data[bestIndex]);
演示:http://jsfiddle.net/wuSux/2/
更改x
的值,以找到最接近该数字的值
更改您的数据,使最后的Body Weight
是320
而不是"320+"
,然后:
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"]) / 2))];
}
演示: http://jsfiddle.net/s8Xge/
或者:
function getClosest(x) {
for (var i = data.length - 1; i > -1; i--) {
if (x > data[i]["Body Weight"]) break
}
return i === data.length - 1 ? data[i] :
i === -1 ? data[0] :
(data[i]["Body Weight"] + data[i + 1]["Body Weight"]) / 2 ? data[i + 1] :
data[i];
}
相关文章:
- 如何将JSON数据导入我的ejs模板
- 如何将json数据显示为html
- Json数据包含日期和时间格式
- 用我的json数据填充JQuery DataTable
- AngularJS加载JSON数据,然后从中解析/加载HTML
- 使用jquery读取Json数据
- 如何将本地json数据加载到Extjs数据模型中
- 如何使用jquery ajax和jsonp在您自己的域上读取json数据
- React-将jSON数据传递给子组件的子组件
- 尝试从控制器加载带有json数据的Simile时间线
- Jquery:对返回JSON数据的php脚本的Ajax调用
- 如何通过数据分组将json数据转换为嵌套的json数据格式
- 如何在ReactJs中显示Json数据
- 使用javascript进行JSON数据检索
- tu如何将id放在填充了json数据的html表td上
- 将JSON数据从服务器加载到knockout.jsobservable中
- 使用JavaScript处理JSON数据
- 如何将json数据传递到.js文件
- 如何在带有nunjucks和gullow数据的JSON数据中使用带有HTML的内容
- 如何使用var名称调用JSON数据