我想在n维数组中找到最大值及其 outer 索引,例如:
myArray = [[0,1,2],[3,4,5],[6,7,8]]
到目前为止,我想到了这样的事情:
const highest = myArray.reduce((r, a) => a.map((b, i) => (r[i] > b)), []);
此示例中的所需输出为:
[8, 2]
答案 0 :(得分:2)
您可以使用reduce,在reduce累加器中将第一个元素的值用作默认值,如果当前值大于累加器,则进行更新,从innerLoop中更新当前值,并从外循环中进行索引
pyenv
答案 1 :(得分:2)
您可以使用reduce
方法并为每个数组获取max
值,并检查该值是否大于累加器中的第一个元素。
const myArray = [[0,1,2],[3,4,5],[6,7,8]]
const highest = myArray.reduce((r, e, i) => {
const max = Math.max(...e);
return (!r.length || max > r[0]) ? [max, e.indexOf(max), i] : r
}, [])
console.log(highest)
/*
8 - max number value
2 - index of max value in the sub-array
2 - index of the sub-array where the max value is
*/