说我们有一个数组:

var antibiotics = [{
    bacteria: "Mycobacterium tuberculosis",
    penicillin: 800,
    streptomycin: 5,
    neomycin: 2,
    gram: "negative"
}, {
    bacteria: "Salmonella schottmuelleri",
    penicillin: 10,
    streptomycin: 0.8,
    neomycin: 0.09,
    gram: "negative"
}, {
    bacteria: "Proteus vulgaris",
    penicillin: 3,
    streptomycin: 0.1,
    neomycin: 0.1,
    gram: "negative"
}, {
    bacteria: "Klebsiella pneumoniae",
    penicillin: 850,
    gram: "negative"
}];


并且我们要查找数组中对象的所有数值属性的minmax(此处为penicillinstreptomycinneomycin),假设值可以为空/不存在。

如何从JavaScript中的对象数组聚合此类数据?

最佳答案

您可以使用Array.prototype.map()提取所需的值,然后将其作为参数传递给Math.max()Math.min()

Math.max.apply(Math, values);

10-02 16:17