这是我想要找到最大数据的数组。
INSTALLED_APPS = [
'anthology.apps.JazzManoucheConfig',
# ...
]
这里的输出是444,它工作正常。但现在,我想从选定的索引中选择最大值。我将这些索引存储在此数组中。
number = {"abc": [43,4,34,34,6,444], "dsfsd":[324,324,32,43,34,2] };
console.log((Math.max(...number[abc]));
现在,available = [0,2,3];
的索引0,2,3是43,44,6
我希望显示43,因为它是所选索引的最大值。
我该怎么做?
答案 0 :(得分:1)
将标记映射到值,然后在这些值上调用Math.max
:
const number = {"abc": [43,4,34,34,6,444], "dsfsd":[324,324,32,43,34,2] };
const available = [0,2,3];
const availableValues = available.map(i => number.abc[i]);
console.log(Math.max(...availableValues));
答案 1 :(得分:0)
您可以创建一个可重复使用的函数,该函数将使用自定义逻辑来检查最高编号,而不是使用Math.max()
。使用可重用功能将帮助您缩放代码而无需重复逻辑。
var available = [0,2,3];
var number = {"abc": [43,4,34,34,6,444], "dsfsd":[324,324,32,43,34,2] };
function getHighest(available, number){
var index = available[0];
var highest = number[index];
for(var i=1; i<available.length; i++){
index = available[i];
if(highest < number[index]){
highest = number[index];
}
}
return highest;
}
var highest = getHighest(available, number['abc']);
console.log(highest);
答案 2 :(得分:0)
您还可以通过过滤number.abc
数组来查看此内容。
const number = {"abc": [43,4,34,34,6,444], "dsfsd":[324,324,32,43,34,2] };
const available = [0,2,3];
const filtered = number.abc.filter((num, idx) => available.includes(idx));
console.log(Math.max(...filtered));