美文网首页
2种方法从数组里面找到最接近某个数值的值(小于该指定值,并且大于

2种方法从数组里面找到最接近某个数值的值(小于该指定值,并且大于

作者: Rogi | 来源:发表于2019-08-28 14:29 被阅读0次

1、用于递归查找

var arr = [6,8,1,6,8,7,9,10,11,55,74,12,3,5,6,8,9,4,2,3,5,4,86,31,5]
let testStr = 0
let testArr = []
function MaxFn (str, arr) {
    let list = []
    arr.forEach((el, index) => {
        if (el < str && el > testStr) {
            list.push(el)
        } else if (el < testStr || el > testStr) {
            list.splice(index, 1)
        }
        testStr = el
    })
    testArr = list
    if (list.length != 1) {
        MaxFn(str, list)
    }
}
MaxFn (74, arr)
console.log(testArr)
// 比如我想找74最接近他的值(注意:找到的值必须是小于这个值的,大于则排除)
// 那我找到的值就是55。

// 我想找接近10的,那我找到的就是9

2、 通过找到所有小于该指定值的所有数值,并且把他们放到数组里面,以小到大排序,让后取数组最后一位

var arr = [6,8,1,6,8,7,9,10,11,55,74,12,3,5,6,8,9,4,2,3,5,4,86,31,5]
function MaxFn (str, arr) {
    let list = []
    arr.forEach((el, index) => {
    // 1、在所有时间里面找出小于当前时间
        if (el < str) {
        // 2、把所有小于当前时间的时间整合到数组
            list.push(el)
        }
    })
    // 3、数组从小到大排序
    list.sort(function(a,b){return a-b;});
    // 4、从排序的数组里面获取最后一位
    return list[list.length-1]
}
console.log(MaxFn(10, arr))

相关文章

  • 2种方法从数组里面找到最接近某个数值的值(小于该指定值,并且大于

    1、用于递归查找 2、 通过找到所有小于该指定值的所有数值,并且把他们放到数组里面,以小到大排序,让后取数组最后一位

  • C++ 判断一个数组是否全为0

    如果要判断一个数组里面是否全为某个变量的值, 以此类推,还可以判断所有元素是否大于或者小于某个值;除了数组,还可以...

  • 二叉搜索树的前驱和后继节点

    前驱节点val值小于该节点val值并且值最大的节点后继节点val值大于该节点val值并且值最小的节点 BST.pn...

  • Opencv之图像二值化

    二值化是图像分割的一种方法。在二值化图象的时候把大于某个临界灰度值的像素灰度设为灰度极大值,把小于这个值的像素灰度...

  • PHP快速排序算法

    重要思想:分而治之和递归思想 原理:1: 选择一个基准值2: 将数组分成两个子数组: 小于基准值的元素和大于...

  • 快速排序

    思想:选一个基准值, 将大于它的放右边, 小于它的放左边。找到该基准值的下标, 然后继续递归调用。 代码实现 找到...

  • 209.滑动窗口,求最短连续子数组,和sum>=num

    思想:left,right指定一个数组长度 值大于s,sum=sum-left,left++,缩小窗口,直到小于s...

  • Excel-Match函数

    Match函数 用途:Match函数即匹配函数,指返回指定数值在指定数组中的位置。 (1)确定列表中某个值的位置;...

  • 快速排序

    快速排序将第一个数值作为基准值,从右往左找到比基准值小的数值与从左往右的大于基准值的数值交换(必须先从右往左再从左...

  • 排序算法之快速排序

    1、简单介绍 快速排序核心思想是给中间值元素找到一个正确位置,使得左边元素小于该值,右边元素均大于该元素。 具体实...

网友评论

      本文标题:2种方法从数组里面找到最接近某个数值的值(小于该指定值,并且大于

      本文链接:https://www.haomeiwen.com/subject/ljjpectx.html