如何獲取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教程: