在这里,我想得到这个多维数组的最大值,其中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
如何从此数组中获取最大值。
答案 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)