如何确定我的数字最接近哪个数组索引
How can I determine which array index my number is closest to?
我有一个数组和var,如下所示:
var paymentMilestones = [0, 30, 60, 90];
var daysOverdue = 33;
在JavaScript中,如何通过编程确定daysOverdue
变量最接近哪个paymentMilestones
索引?我需要返回该值,所以在这种情况下,函数应该返回30
。
一个快速的答案(如果有平局,它会把两者都带回来——假设数组是预先排序的):
var paymentMilestones = [0, 30, 60, 90];
var daysOverdue = 33;
function findClose(array,elem){
var minDelta = null;
var minIndex = null;
for (var i = 0 ; i<array.length; i++){
var delta = Math.abs(array[i]-elem);
if (minDelta == null || delta < minDelta){
minDelta = delta;
minIndex = i;
}
else if (delta == minDelta) {
return [array[minIndex],array[i]];
}
// unchecked: stop if delta starts becoming bigger again
else {
return [array[i-1]];
}
}
return array[minIndex];
}
var closest = findClose(paymentMilestones,daysOverdue);
相关文章:
- 按最大值获取数组索引
- 删除和重用数组索引
- 警报数组索引和值
- .fadeIn .fadeOut 会导致数组索引出现奇怪的行为
- Javascript原型通用Enquries和通过数组索引分配Id
- 获取数组索引的值
- Javascript-将值与关联数组索引进行比较
- Javascript-在数组索引中循环的问题
- JavaScript - “规范化”数组索引
- 数组索引混淆
- 使用 Javascript/React.js 查找对象的数组索引
- 如何拆分数组索引
- 获取新推送元素的数组索引
- 在 javascript 中将数组索引作为参数传递
- 当对象本身存储在 JavaScript 的数组索引中时,如何打印对象的每个单独属性
- 如何使用数组索引序列
- ASP.NET/JavaScript:数组索引溢出:实体框架/LINQ
- 如何在分配给数组索引的对象上调用方法
- 使用铆钉访问数组索引.js
- 计算 Javascript 数组索引的出现次数