给定均匀间隔的整数数组,找到整数落在其中的2个值

时间:2013-01-30 08:45:25

标签: javascript

嗨,我在使用javascript写一些逻辑时遇到了一些麻烦 给定一个数组(arr1)和测试值(测试)

arr1 = [5, 12, 19, 27]
test =15

对于test = 15,返回值3,其中测试< 5 = 1,5< test> 12 = 2等。测试可以是1到31之间的任何整数。

谢谢!

2 个答案:

答案 0 :(得分:0)

你可以做一个简单的循环,如果数字小于第i个单元格上的数字,你将会重新计算。

如果你从i = 0开始,你只能做3个if-else语句。

答案 1 :(得分:0)

试试这个:

var arr1 = [5, 12, 19, 27];
var test = 15;
var i;
for(i = 0; i < arr1.length && test > arr1[i]; i++);
console.log(i+1);

记录3

你的标题是“均匀间隔”,但如果情况确实如此(27应为26),则你的数组会有轻微错误。

但是,如果数组 均匀分布,则可以在没有循环的情况下执行此操作:

// Assuming the array = [5, 12, 19, 26];
var test = 15;
console.log(Math.ceil((test - 5)/7)+1);

所以,基本上:

Math.ceil((test - startingNumber) / spacing)+1