JavaScript某些方法不';行不通

JavaScript某些方法不';行不通,javascript,arrays,function,search,Javascript,Arrays,Function,Search,我有一个函数,它应该找到数组中索引与其值相等的第一个元素。我需要得到索引=1,但是我得到-1 函数indexEqualsValue(a){ var currentElement=-1; a、 一些(函数(元素、索引){ 如果(元素===索引){ 返回元素 } }) 返回电流元件 } log(indexEqualsValue([-5,1,2,3,4,5,7,10,15])您从未将currentElement重新分配给找到的元素,因此它始终保持-1。可能更适合使用find或findIndex,它返

我有一个函数,它应该找到数组中索引与其值相等的第一个元素。我需要得到
索引=1
,但是我得到
-1

函数indexEqualsValue(a){
var currentElement=-1;
a、 一些(函数(元素、索引){
如果(元素===索引){
返回元素
}
})
返回电流元件
}

log(indexEqualsValue([-5,1,2,3,4,5,7,10,15])
您从未将
currentElement
重新分配给找到的元素,因此它始终保持
-1
。可能更适合使用
find
findIndex
,它返回找到的元素(或找到的索引)
一些
返回布尔值,但您没有使用
调用的结果。请尝试以下方法:

函数indexEqualsValue(a){
返回a.findIndex((元素,索引)=>element==index)
}
log(indexEqualsValue([-5,1,2,3,4,5,7,10,15]))
log(indexEqualsValue([-5,0,2,3,4,5,7,10,15]))

log(indexEqualsValue([-5,2,3,4,5,7,10,15])
您永远不会将
currentElement
重新分配给找到的元素,因此它始终保持
-1
。可能更适合使用
find
findIndex
,它返回找到的元素(或找到的索引)
一些
返回布尔值,但您没有使用
调用的结果。请尝试以下方法:

函数indexEqualsValue(a){
返回a.findIndex((元素,索引)=>element==index)
}
log(indexEqualsValue([-5,1,2,3,4,5,7,10,15]))
log(indexEqualsValue([-5,0,2,3,4,5,7,10,15]))
log(indexEqualsValue([-5,2,3,4,5,7,10,15]))
Array#一些
返回true或false,并且您不会更改
currentElement
。使用(或等效的
findIndex
)。
Array#一些
返回true或false,并且您不会更改
currentElement
。使用(或等效的
findIndex
)。