如何获取JavaScript数组中项目的索引

以下是根据值在JS数组中检索项目索引的方法

假设您具有数组中包含的项目的值,并且想要获取其索引。

你怎么能得到它?

如果项目是原始值(例如字符串或数字),则可以使用indexOf数组的方法:

const letters = ['a', 'b', 'c']

const index = letters.indexOf(‘b’)

//index is 1

请记住,索引从数字开始0

如果项目是对象,则不能使用这种方式,因为如果尝试这样做:

const letters = [
  {
    letter: 'a',
  },
  {
    letter: 'b',
  },
  {
    letter: 'c',
  },
]

const index = letters.indexOf({ letter: ‘b’, })

index-1这表示找不到该项目。因为对象是按引用而不是按值比较的(与原始类型不同)。对象传递给indexOf是与数组中第二个项目完全不同的对象。

您可以使用findIndex像这样的值,它将为数组中的每个项目运行一个函数,该函数将被传递给元素及其索引。从中返回将把返回值分配给的返回值findIndex

const letters = [
  {
    letter: 'a',
  },
  {
    letter: 'b',
  },
  {
    letter: 'c',
  },
]

const index = letters.findIndex((element, index) => { if (element.letter === ‘b’) { return true } })

//index is 1

免费下载我的JavaScript初学者手册


更多js教程: