如何在js中获得多维数组的最大值

时间:2018-02-15 06:50:07

标签: javascript php jquery html

在这里,我想得到这个多维数组的最大值,其中tax_value更大。

0:{id: "61", tax_value: "2.00000000"}
1:{id: "81", tax_value: "12.00000000"}

这里我使用此代码获取数组。

 var array = new Array();
        if (typeof $('select[id^=item_tax]') !== "undefined")
        {
            $('select[id^=item_tax]').each(function (i, e)
            {
                if ($(e).val() > 0)
                {
                    array.push({id: $(e).val(), tax_value: $(e).find('option:selected').data('value')});
                }
            });


        }
        console.log(array);//multi dimensional array is coming as output

如何从此数组中获取最大值。

3 个答案:

答案 0 :(得分:5)

要返回最高tax_value ,请使用map

var maxTaxValue = Math.max.apply( null, array.map( s => s.tax_value ) );

使用max tax_value返回整个对象

var obj = array.find( s => s.tax_value == maxTaxValue )

答案 1 :(得分:1)

您可以使用新的ES6功能获取最大税额,但您也可以在执行循环时获得最大值。

无需额外的循环或功能。

var array = new Array();
var maxValue = 0; //Init the max variable
if (typeof $('select[id^=item_tax]') !== "undefined")
{
    $('select[id^=item_tax]').each(function (i, e)
    {
        if ($(e).val() > 0)
        {
                array.push({id: $(e).val(), tax_value: $(e).find('option:selected').data('value')});
        }

        //Test weather the current tax is greater. Assign the value
        var taxValue = Number( $(e).find('option:selected').data('value') );
        if ( maxValue < taxValue ) maxValue = taxValue;
    });
}

console.log( maxValue );

答案 2 :(得分:0)

你没试过这种方式吗?你可以得到一个每行最大的数组。 之后你可以从中获得最大值