首页 > 解决方案 > 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);

标签: javascriptarrayslogic

解决方案


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)

过滤掉小于输入的数字,然后找到其中的最小值。


推荐阅读