從JS基本語法接觸完後,蜜月期一過,就會遇到很多操作的方法。這一篇要聊聊array的方法之一——如何去找到所查找元素的索引號。
一開始我學到的方法是indexOf()
const arr=[1,2,3,4,5] //建立一個陣列
console.log(arr.indexOf(1)) //查找1這個元素的索引號並顯示
//顯示為0
console.log(arr.indexOf(6)) //查找6這個元素的索引號並顯示
//顯示為-1
從上面的程式碼看到indexOf()會返回查找元素的索引號,如果沒有該元素則會返回-1。
之後碰到findIndex()這個陣列方法,從拼字就知道它的用途---find查找index索引號,跟indexOf()不一樣的是findIndex()括號裡面是放函式。
如果在findIndex()裡面放元素的話...
const arr=[1,2,3,4,5]
console.log(arr.findIndex(1)) //會無法執行
把findIndex()裡面放函式的話...
const arr=[1,2,3,4,5]
console.log(arr.findIndex(function(e){return e===1})) //顯示為0
因為是函式,所以如果想查找範圍性的就很方便,例如我想查找大於1的第一個元素的索引號:
const arr=[1,2,3,4,5]
console.log(arr.findIndex(function(e){return e>1})) //找到2這個元素,並回傳2的索引號1
兩種index有關的array方法,熟悉的index最對味