javascript - Javascript逻辑查找更大的数字以匹配输入
问题描述
实际上,我正在研究一个逻辑,其中我得到了一个数组和一个输入 var,我需要将该 var 与数组进行比较,并在不使用排序的情况下找到该数组中的最小数字,例如。我有一个类似的数组
const arr = [20,25,13,10,3,5,9,22];
和像这样的输入
var inputt =3;
所以我需要在数组中找到最小的数字,但大于上述情况下的输入,预期的答案是“5”。
应该是什么方法,我尝试围绕数组执行循环并找到最小的数字,但无法弄清楚如何从大于给定输入的数组中获取最小数字。
var myarr = [5,3,9,10,7];
var smallest = arr[0];
for(var i=1; i<arr.length; i++){
if(myarr[i] < smallest){
smallest = myarr[i];
}
}
console.log(smallest);
解决方案
const arr = [20,25,13,10,3,5,9,22];
const input = 3;
const res = Math.min(...arr.filter(num => num > input));
console.log(res)
过滤掉小于输入的数字,然后找到其中的最小值。
推荐阅读
- ios - iOS如何为每个目标创建配置文件
- html - 如何从获取的二进制数据(二进制数据是从 REST API 接收对象的元素之一)在前端 Angular 中显示 pdf?
- android - 无法添加窗口,恢复活动时出现 BadTokenException
- react-native-ios - 组件未定义反应原生
- java - 如何使用 ResultSet 进行循环?
- java - 这些代码行之间有什么区别?
- hiveql - 带日期的 Mod 函数用法
- r - 固定一个轴时如何在两点之间画一条线(时间序列)
- transform - 将许多变量的值除以它们的平均值
- ms-office - PowerPoint 内容加载项在当前模式下显示为图像