【问题标题】:Return array of indexes [duplicate]返回索引数组[重复]
【发布时间】:2018-09-18 18:58:53
【问题描述】:

我正在传递一个数字来查找该数字所在的数组中的所有索引,但以下实现仅返回一个索引而不是所有索引。

我想知道我错过了什么。

findNumberIndexes (givenNumber : number)
{
   var inds = array.findIndex(index=> index === givenNumber)
}

例如:

array = [1,5,7,2,3,4,3,2]
givenNumber : 2
expected output : [3,7]

【问题讨论】:

  • 请阅读this doc的第一句,注意粗体字。

标签: arrays angular typescript


【解决方案1】:

array.map((e, i) => {if(e === givenNumber) { return i }}).filter(x => x!==undefined);

e 是元素,i 是索引。所以map(e, i) 返回元素等于 givenNumber 的所有索引。filter(x=>x) 删除所有undefined 值。

编辑:从filter(x=>x)filter(x=>x!==undefined)

【讨论】:

  • 如果索引 0 匹配,这将过滤掉第一项
  • @user184994 你是对的
猜你喜欢
  • 2018-11-29
  • 1970-01-01
  • 2019-06-26
  • 2014-09-16
  • 2014-11-10
  • 1970-01-01
  • 1970-01-01
  • 2018-04-06
  • 1970-01-01
相关资源
最近更新 更多