我有这段代码,它使用我在那一行中声明的数组在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输出该变量。任何帮助将不胜感激。
答案 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));