专题1234导航

JS匹配数组中的近似值

来源:互联网
发表时间:2017/4/21 12:23:19
责任编辑:李志喜
字体:

为了帮助网友解决“JS匹配数组中的近似值”相关的问题,学网通过互联网对“JS匹配数组中的近似值”相关的解决方案进行了整理,用户详细问题包括:


var addSp = 3;
var speedLen = [1,5,10,20,30,50,75,100];
//当addSp =3时取5,=8时取10,=28时取30,等80时取100
,具体解决方案如下:

解决方案1:

var addSp = 80;
var speedLen = [1,5,10,20,30,50,75,100];
function near(a,b){
var c,d,e,f;
for(var i=0;i<a.length;i++){
i==0&&(c=a[i],e=Math.abs(b-a[i]));
a[i]>b&&(d=d?(a[i]<d?a[i]:d):a[i]);
i>0&&(Math.abs(b-a[i])<e&&(c=a[i],e=Math.abs(b-a[i])));
}
// a 最接近值,b 大于本数的最小值
return {a:c,b:d}
}
document.write(near(speedLen,addSp)['b'])

解决方案2:

引用 1 楼 superwfei 的回复:
var addSp = 80;
var speedLen = [1,5,10,20,30,50,75,100];
function near(a,b){
var c,d,e,f;
for(var i=0;i<a.length;i++){
i==0&&(c=a[i],e=Math.abs(b-a[i]));
a[i]>b&&(d=d?(a[i]<d?a[i]:d):a[i]);
i>0&&(Math.abs(b-a[i])<e&&(c=a[i],e=Math.abs(b-a[i])));
}
// a 最接近值,b 大于本数的最小值
return {a:c,b:d}
}
document.write(near(speedLen,addSp)['b'])


跪谢大神。点击图片看大图学网 www.xue163.com

www.xue163.com true http://www.xue163.com/588880/39215/392158846.html report 2165 JS匹配数组中的近似值:解决方案1:var addSp = 80;var speedLen = [1,5,10,20,30,50,75,100];function near(a,b){var c,d,e,f;for(var i=0;i<a.length;i++){i==0&&(c=a[i],e=Math.abs(b-a[i]));a[i]>b&&(d=d?(a[i]<d?a[i]:d):a[...
最近关注
首页推荐
热门图片
最新添加资讯
24小时热门资讯
精彩资讯
精彩推荐
热点推荐
真视界
精彩图片
社区精粹
关于本站 | 广告服务 | 手机版 | 商务合作 | 免责申明 | 招聘信息 | 联系我们
Copyright © 2004-2016 Xue163.com All Rights Reserved. 学网 版权所有
京ICP备10044368号-1 京公网安备11010802011102号