我想在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/

10-12 23:00