【发布时间】:2023-03-23 04:54:01
【问题描述】:
如何从数组中获取多个键之间的最大值?
我已经为仅三个(不是多个)键尝试了以下方法。
getMaxValuefromkeys(values: any[], key1: string, key2: string, key3: string) {
var val1 = Math.max.apply(Math, values.map(function (a) { return a[key1] }));
var val2 = Math.max.apply(Math, values.map(function (a) { return a[key2]; }));
var val3 = Math.max.apply(Math, values.map(function (a) { return a[key2]; }));
if (val1 >= val2 || val1 >= val3) {
return val1;
} else if (val2 >= val3 || val2 >= val1) {
return val2;
}
return val3;
}
但是如果我们使用多个键,我们需要检查更多的条件并编写更多的代码。所以我尝试了以下这些代码
Math.max.apply(Math, values.map(function (a) { return a[key1], a[key2], a[key3]; }));
// where I want to return multiple keys
但它不起作用。是否有任何单行代码可用于从数组中获取 多个 键之间的最大值?
【问题讨论】:
-
请解释谁/为什么对这个问题投了反对票。 :(
-
我不知道这是否是原因,但对于您的声誉用户来说,这个问题似乎很基本。我并不是说它是,或者它是投反对票的正当理由,只是根据我的经验,有时投反对票,尽管其中一些是有道理的,但有时与内容相关的声誉有关,以及只是内容本身。 (我没有投反对票,我也很少投反对票,但我知道其他人不那么沉默寡言)。或者也许有人丢失了他们的钥匙(我不觉得这个投票的理由很有趣,但我知道社区认为这很有趣)。
-
@PeterDavidCarter !这是一个比以下答案大的评论:p
-
是的,这可能是一个很好的问题,因为它有很多答案,因此可能为社区提供了有用的内容。我认为这很好。 meta.stackexchange.com/questions/215379/… 包含我在引用丢失的密钥时所指的答案。 (我的正式培训首先是文学方面的,所以我有一种漫无边际的倾向;))。
标签: javascript angularjs arrays angular typescript