Javascript在数组中输出最大值,每个数组都有两个以上的值

时间:2020-03-06 13:16:29

标签: javascript

我有这段代码,它使用我在那一行中声明的数组在document.write中输出最大值。这样可以正常工作,并输出最高的56。

  function topProduct(productProfitArray) {
     if (toString.call(productProfitArray) !== "[object Array]")  
       return false;
  return Math.max.apply(null, productProfitArray);
    }

document.write(topProduct([12,34,56,1]));

现在我想在声明的数组上也将值输出,并且在int值旁边还有一个字符串,但是我得到了Uncaught SyntaxError: Invalid or unexpected token

var productProfitArray = [ {“Product A”: -75}, {“Product B”: -70}, {“Product C”:
98}, {“Product D”: 5}, {“Product E”: -88}, {”Product F”: 29}];


 function topProduct(productProfitArray) {
     if (toString.call(productProfitArray) !== "[object Array]")  
       return false;
  return Math.max.apply(null, productProfitArray);
    }

document.write(topProduct(productProfitArray));

我尝试添加一个变量productProfitArray然后执行该函数,然后尝试使用document.write输出该变量。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您应该映射数组以获取值:

var productProfitArray = [ {"Product A": -75}, {"Product B": -70}, {"Product C": 98}, {"Product D": 5}, {"Product E": -88}, {"Product F": 29}];

function topProduct(productProfitArray) {
  if (toString.call(productProfitArray) !== "[object Array]")  
    return false;
  return Math.max.apply(null, productProfitArray.map(o => Object.values(o)[0]));
}

document.write(topProduct(productProfitArray));