给定一个均匀分布的整数数组,找到整数落在哪 2 个值之间
Given an evenly spaced array of integers, find between which 2 values an integer falls
嗨,我在用javascript编写一些逻辑时遇到了一些麻烦给定数组 (arr1) 和测试值(测试)
arr1 = [5, 12, 19, 27]
test =15
对于 test=15,返回值 3,其中 test<5 = 1,5
谢谢!
您可以做一个简单的 for 循环,如果数字小于第 i 个单元格上的数字,您将重新生成 i。
如果从 i=0 开始,则只能执行 3 个 if-else 语句。
试试这个:
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
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 全局变量和全局对象的属性之间有什么区别吗
- java.net和javascript之间正则表达式的差异
- JavaScript中的函数和对象之间没有区别吗?
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- Jquery在函数之间传递表行
- 根据某些条件在视图之间切换
- 在控制器和数据对象之间同步数据
- 如何使用js将SNAPSHOT内部版本号转换为3位数的整数
- d3中堆栈函数和嵌套函数之间的差异
- 有效地获取两个区间之间的随机整数
- 效率:整数数组的一个子集中两个项之间的最大差值
- 如何要求用户输入一个介于 1 和 50 之间的整数,然后小程序打印出一行这个星数
- 在两个整数之间散列一个具有良好分布的字符串(统一散列)
- 生成介于 0 和“x”之间的唯一随机数(整数)
- 我想通过文本输入从用户那里得到两个整数,找出这两个数字之间的差,然后将这个数字除以25.我该怎么做呢?
- 在 Javascript/jQuery 中创建两个数字(包括两个数字)之间的所有整数的数组
- 无效的列索引未定义.取值范围为[0-8]之间的整数
- 在javascript中,字符串和整数之间的比较是如何工作的
- 给定一个均匀分布的整数数组,找到整数落在哪 2 个值之间