Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:如何获取最小值_Javascript_Jquery - Fatal编程技术网

JavaScript:如何获取最小值

JavaScript:如何获取最小值,javascript,jquery,Javascript,Jquery,如何从JavaScript中的数组中获取最小值?我确实尝试了Math.min方法,但它似乎没有像预期的那样工作 例如,我有四个带数值的div: HTML: 你能告诉我我做错了什么吗?更新答案:此解决方案现在正在运行 您必须使用parseInt(…,10)完成此操作 Math.min不接受数组 因此,在您的情况下,您将有如下内容: function getMinFromArray (array_of_values) { return array_of_values.sort()[0];

如何从JavaScript中的数组中获取最小值?我确实尝试了Math.min方法,但它似乎没有像预期的那样工作

例如,我有四个带数值的div:

HTML:


你能告诉我我做错了什么吗?

更新答案:此解决方案现在正在运行

  • 您必须使用parseInt(…,10)完成此操作
  • Math.min不接受数组
  • 因此,在您的情况下,您将有如下内容:

    function getMinFromArray (array_of_values) {
        return array_of_values.sort()[0];   
    };
    
    var r = parseInt($('#r').text(), 10),
        g = parseInt($('#g').text(), 10),
        b = parseInt($('#b').text(), 10),
        p = parseInt($('#a').text(), 10);
    
    var mainBox = [r,g,b,a];
    var result = getMinFromArray(mainBox);
    
    alert(result);
    
    var minValue = Math.min.apply(Math, mainBox);
    
    var minValue = Math.min(r,g,b,p);
    

    这是一个工作示例:

    更新答案:此解决方案现在正在工作

  • 您必须使用parseInt(…,10)完成此操作
  • Math.min不接受数组
  • 因此,在您的情况下,您将有如下内容:

    function getMinFromArray (array_of_values) {
        return array_of_values.sort()[0];   
    };
    
    var r = parseInt($('#r').text(), 10),
        g = parseInt($('#g').text(), 10),
        b = parseInt($('#b').text(), 10),
        p = parseInt($('#a').text(), 10);
    
    var mainBox = [r,g,b,a];
    var result = getMinFromArray(mainBox);
    
    alert(result);
    
    var minValue = Math.min.apply(Math, mainBox);
    
    var minValue = Math.min(r,g,b,p);
    

    这是一个有效的示例:

    我认为您不能像这样将数组传递给
    Math.min()

    试着这样做:

    function getMinFromArray (array_of_values) {
        return array_of_values.sort()[0];   
    };
    
    var r = parseInt($('#r').text(), 10),
        g = parseInt($('#g').text(), 10),
        b = parseInt($('#b').text(), 10),
        p = parseInt($('#a').text(), 10);
    
    var mainBox = [r,g,b,a];
    var result = getMinFromArray(mainBox);
    
    alert(result);
    
    var minValue = Math.min.apply(Math, mainBox);
    
    var minValue = Math.min(r,g,b,p);
    
    或者像这样使用它:

    function getMinFromArray (array_of_values) {
        return array_of_values.sort()[0];   
    };
    
    var r = parseInt($('#r').text(), 10),
        g = parseInt($('#g').text(), 10),
        b = parseInt($('#b').text(), 10),
        p = parseInt($('#a').text(), 10);
    
    var mainBox = [r,g,b,a];
    var result = getMinFromArray(mainBox);
    
    alert(result);
    
    var minValue = Math.min.apply(Math, mainBox);
    
    var minValue = Math.min(r,g,b,p);
    

    我认为您不能像这样将数组传递给
    Math.min()

    试着这样做:

    function getMinFromArray (array_of_values) {
        return array_of_values.sort()[0];   
    };
    
    var r = parseInt($('#r').text(), 10),
        g = parseInt($('#g').text(), 10),
        b = parseInt($('#b').text(), 10),
        p = parseInt($('#a').text(), 10);
    
    var mainBox = [r,g,b,a];
    var result = getMinFromArray(mainBox);
    
    alert(result);
    
    var minValue = Math.min.apply(Math, mainBox);
    
    var minValue = Math.min(r,g,b,p);
    
    或者像这样使用它:

    function getMinFromArray (array_of_values) {
        return array_of_values.sort()[0];   
    };
    
    var r = parseInt($('#r').text(), 10),
        g = parseInt($('#g').text(), 10),
        b = parseInt($('#b').text(), 10),
        p = parseInt($('#a').text(), 10);
    
    var mainBox = [r,g,b,a];
    var result = getMinFromArray(mainBox);
    
    alert(result);
    
    var minValue = Math.min.apply(Math, mainBox);
    
    var minValue = Math.min(r,g,b,p);
    
    工作小提琴

    使用以下代码

    //parseInt to convert String => Int.
    var    r = parseInt($('#r').text(),10);
    var    g = parseInt($('#g').text(),10);
    var    b = parseInt($('#b').text(),10);
    var    p = parseInt($('#a').text(),10);
    
    //Here sort the values
    var minN = Math.min(r,g,b,p);
    alert(minN);
    
    工作小提琴

    使用以下代码

    //parseInt to convert String => Int.
    var    r = parseInt($('#r').text(),10);
    var    g = parseInt($('#g').text(),10);
    var    b = parseInt($('#b').text(),10);
    var    p = parseInt($('#a').text(),10);
    
    //Here sort the values
    var minN = Math.min(r,g,b,p);
    alert(minN);
    
    试试这个:

    var r = parseInt($('#r').text(), 10),
        g = parseInt($('#g').text(), 10),
        b = parseInt($('#b').text(), 10),
        p = parseInt($('#a').text(), 10);
    
    var minN=Math.min(r,g,b,p);
    alert(minN);
    
    由于
    .min()
    不接受数组参数,而只接受逗号分隔的整数,因此您可以逐个放置整数,它将返回最小值。

    请尝试以下操作:

    var r = parseInt($('#r').text(), 10),
        g = parseInt($('#g').text(), 10),
        b = parseInt($('#b').text(), 10),
        p = parseInt($('#a').text(), 10);
    
    var minN=Math.min(r,g,b,p);
    alert(minN);
    
    由于
    .min()
    不接受数组参数,而只接受逗号分隔的整数,因此您可以逐个放置整数并返回最小值。

    您可以尝试:

    你可以尝试:


    我更喜欢对包含数字的任意数量的div使用通用解决方案。 首先,为那些以数字作为文本的div添加一个类。例如,class=“items”。 然后使用以下函数获取最小值

    var getMinValueForDivs = function (divsClass) {
        var itemDivs = $('.' + divsClass);
        var values = [];
        itemDivs.each(function (index, item) {
            values.push(item.innerHTML);
        });
    
        return Math.min.apply(this, values);
    }
    
    例:


    我更喜欢对包含数字的任意数量的div使用通用解决方案。 首先,为那些以数字作为文本的div添加一个类。例如,class=“items”。 然后使用以下函数获取最小值

    var getMinValueForDivs = function (divsClass) {
        var itemDivs = $('.' + divsClass);
        var values = [];
        itemDivs.each(function (index, item) {
            values.push(item.innerHTML);
        });
    
        return Math.min.apply(this, values);
    }
    
    例:


    …因为
    text()
    返回字符串
    min
    不接受数组。我没有投反对票(最好是评论),这会导致NaN。删除-1。现在它和其他所有的都一样了……因为
    text()
    返回一个字符串
    min
    不接受数组。我没有投反对票(最好是评论),这会导致NaN。删除-1。现在和其他问题一样,这个问题不是很好。在你回答这个问题之前,你应该先阅读文档。var minN=Math.min.apply(Math,mainBox)-请检查它是否工作,因为它不工作。。因为OP打错了-a是undefined@Popnoodles当变量匹配时,它将显示:。:)最后一个变量是
    p
    ,所以它用
    a
    自动全局调用
    本身。这个问题不是很好。在你回答这个问题之前,你应该先阅读文档。var minN=Math.min.apply(Math,mainBox)-请检查它是否工作,因为它不工作。。因为OP打错了-a是undefined@Popnoodles当变量匹配时,它将显示:。:)最后一个变量是
    p
    ,所以它用
    a
    @poplane自动拉入了
    本身的全局变量,好的,你可以注释掉它,没问题。你应该始终将10个基数传递给
    parseInt
    ,例如
    parseInt(text,10)
    ,否则它将解析以0开头的数字作为八进制等等!)@Poploane,好的,你可以把它注释掉,没问题。你应该总是把10个基数传递给
    parseInt
    ,例如
    parseInt(text,10)
    ,否则它将解析前导0为八进制的数字等等!)