如何解决在 JavaScript 中,我将如何创建一个变量来遍历数组,不仅要记住最高值,还要记住该值的位置
var array = [1,2,3,4,5];
for(i = 0; i < array.length; i ++){
}
这是我对它的理解程度(不是我的实际代码,只是一个例子)以及我将如何使用这个 for 循环遍历数组,然后不仅记住最高值,还记住它所在的位置。我想在我的代码中特别做的是创建一个点系统,它增加数组中不同位置编号的值,然后对它们进行排序以找到最高值,并根据数组中的哪个位置/变量具有最高值会做一些不同的事情。为语法道歉。
解决方法
您可以编写一个函数来跟踪具有最高值 max
的索引,并在 arr[i]
更大时更新它 -
function goThroughAnArrayAndRememberNotOnlyTheHighestValueButAlsoThePositionOfThatValue(arr)
{ if (arr.length == 0) return false
let max = 0
for (let i = 1; i < arr.length; i++)
if (arr[i] > arr[max])
max = i
return { highestValue: arr[max],positionOfThatValue: max }
}
const input1 =
[ 1,6,4,3,9,5,8,7 ]
const input2 =
[]
console.log(goThroughAnArrayAndRememberNotOnlyTheHighestValueButAlsoThePositionOfThatValue(input1))
// { highestValue: 9,positionOfThatValue: 4 }
console.log(goThroughAnArrayAndRememberNotOnlyTheHighestValueButAlsoThePositionOfThatValue(input2))
// false
只需使用 array.reduce method
var myArray = [0,1,2,12,5]
const f_MaxPos = arr => arr.reduce((r,c,i)=>
{
if (!i || c > r.max)
{
r.max = c
r.pos = i
}
return r
},{ max:undefined,pos:-1 })
console.log( JSON.stringify( f_MaxPos( myArray ) ) )
.as-console-wrapper {max-height: 100%!important;top:0}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。