iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 13
1
自我挑戰組

JavaScript Array x 學習筆記系列 第 13

[Day 13 | Array.prototype.indexOf () - 簡易搜尋 ]

array.indexOf()

屬於會回傳陣列資料或是索引值的函數

使用 array.indexOf() 後如果有找到值則回傳該值在陣列裡的位置,

如果該值有一個以上,則是回傳第一次找到的位置

如果沒有則回傳 -1

這是不是很像我們常常看到的間易搜尋呢?

我將會在範列二介紹這個簡易搜尋

那...先看語法瞜


Syntax

array.indexOf(searchElement[, fromIndex]);

searchElement - 要尋找的值

fromIndex - 從陣列的哪個位置開始找,可省略(預設位置為0)

slice() 方法會回傳一個新的陣列,原來的陣列不會被修改


Example

程式碼如下:

let colors = ['blue', 'blue', 'yellow', 'red', 'orange', 'green', 'sky blue', 'red', 'caramel', 'red', 'green']

console.log(colors.indexOf('yellow')) 

console.log(colors.indexOf('blue')) 

console.log(colors.indexOf('red', 5))
 
console.log(colors.indexOf('greenyellow'))


Example 2

找尋'bubble tea'是否存在newAry陣列中,若沒有,則加入到newAry陣列最前方,
如何加入呢?記得前面有我們學習過 array.unshift() 函數,這時候就派上用場了!

程式碼如下:


let newAry = ['green tea', 'block tea', 'milk']

function check(item) {
	if (newAry.indexOf(item) === -1) {
		newAry.unshift(item)
	}
	return newAry;
}

check('bubble tea')
console.log(newAry)

參考資料 https://www.tutorialspoint.com/javascript/array_indexof.htm


上一篇
[Day 12 | Array.prototype.copyWithin () ]
下一篇
[Day 14 | Array.prototype.lastIndexOf () ]
系列文
JavaScript Array x 學習筆記30

尚未有邦友留言

立即登入留言