首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JavaScript某些方法不起作用

JavaScript某些方法不起作用
EN

Stack Overflow用户
提问于 2018-08-17 06:45:06
回答 1查看 71关注 0票数 0

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

代码语言:javascript
复制
function indexEqualsValue(a) {
  var currentElement = -1;
  a.some(function(element, index) {
    if (element === index) {
      return element
    }
  })
  return currentElement
}
console.log(indexEqualsValue([-5, 1, 2, 3, 4, 5, 7, 10, 15]))

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-17 06:48:22

您永远不会将currentElement重新赋值给找到的元素,因此它始终保持为-1。使用findfindIndex可能更合适,后者返回找到的元素(或找到的索引)- some返回布尔值,但您没有使用.some调用的结果。试着这样做:

代码语言:javascript
复制
function indexEqualsValue(a) {
  return a.findIndex((element, index) => element === index)
}
console.log(indexEqualsValue([-5, 1, 2, 3, 4, 5, 7, 10, 15]))
console.log(indexEqualsValue([-5, 0, 2, 3, 4, 5, 7, 10, 15]))
console.log(indexEqualsValue([-5, 2, 3, 4, 5, 7, 10, 15]))

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51886259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档