我想在n维数组中找到最大值及其外部索引,例如:
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]
最佳答案
您可以使用reduce,在reduce累加器中使用第一个元素的值作为默认值,如果当前值大于累加器,则进行更新,从innerLoop中更新当前值,并从external loop中进行索引
let myArray = [[0,1,2],[3,4,5],[6,7,8]]
let findIndex = (arr) => {
let max = arr.reduce( (op,inp,i) => {
inp.forEach(v => {
if(v > op[0]){
op = [v, i]
}
})
return op
},[arr[0][0],0])
return max
}
console.log(findIndex(myArray))
关于javascript - 在3维数组中查找最大值及其索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57793702/