版權歸本人所有,未經允許嚴禁轉載
多說無益,再bb就是我的鍋了,直接進入正題
爲了更方便的做一些演示,所以在工作臺添加一個名爲arr的數組類型變量:
const arr = ['Jimmy', 'Tom', 'Lily', 'Lucy'];
1. arr.indexOf(item[, fromIndex])方法:item參數代表的是某個元素,如果元素存在就返回該元素的index值,而如果不存在則返回-1,fromIndex參數代表數組開始尋找的index,默認爲0,複數則從莫爲開始計算;特點是找到第一個元素的索引之後馬上返回值並且停止執行
console.log('indexOf方法參數爲Tom的返回值', arr.indexOf('Tom')); // 輸出1
console.log('indexOf方法參數爲Lilei返回的值', arr.indexOf('Lilei')); // 輸出-1
console.log('indexOf方法參數爲Tom,2返回的值', arr.indexOf('Tom', 2)); // 輸出-1
2. arr.includes(item[, fromIndex])方法:item參數如果爲該數組的某個元素就返回true,反之返回false;fromIndex參數代表數組開始尋找的index,用法同上(indexOf)
console.log('includes方法參數爲Tom返回值', arr.includes('Tom')); // 輸出true
console.log('includes方法參數爲Likei返回的值', arr.includes('Lilei')); // 輸出false
console.log('includes方法參數爲Tom,2返回值', arr.includes('Tom', 2)); // 輸出false
3. arr.find(callback[, thisArg])方法,尋找出數組中第一個匹配的元素,並結束查找,callback爲函數類型(參數有:element--當前元素,index當前的索引值,array當前元素),thisArg參數爲this的控制權,特點:傳入特定的值如果數組中存在則返回這個值;傳入索引值,則會返回索引值對應的值
console.log('arr.find(arrFind(item, index, arr))的值', arr.find(arrFind)); // 輸出1
function arrFind(item, index, arr) {
return item === 'Tom';
// return index === 0
}
4. arr.findIndex(callback[, thisArg])方法,尋找出數組中第一個匹配元素的索引值,用法類似於find,如果存在則返回index值,不存在則返回-1,跟find方法一樣,雖然作用比較單一,但是擴展性比較好
console.log('arr.find(arrFind(item, index, arr))的值', arr.findIndex(arrFind)); // 輸出Tom
function arrFind(item, index, arr) {
// return item === 'Tom';
return index === 1
}
5. in操作符,尋找某屬性是否存在於該對象,在數組中使用時必須傳入index(索引值),因爲索引值是數組的鍵值,換個詞說,就是屬性名的意思;跟includes到的區別是,includes傳入的是具體值,而in傳入的是index值
console.log('in操作符', 1 in arr); // 輸出true
6. arr.lastIndexOf(item[, fromIndex]),表示數組中某元素最後出現的位置,可參照字符串的lastIndexOf()方法,參數和參數的用法跟indexOf是完全一樣的
console.log('indexOf方法參數爲Tom的返回值', arr.lastIndexOf('Tom')); // 輸出1
console.log('indexOf方法參數爲Lilei返回的值', arr.lastIndexOf('Lilei')); // 輸出-1
console.log('indexOf方法參數爲Tom,2返回的值', arr.lastIndexOf('Tom', 2)); // 輸出-1
7. arr.some(callback[, thisArg]),表示該數組中是否有匹配的元素,如果有則返回true,如果沒有則返回false,參數跟find方法的參數完全一樣
console.log('arr.find(arrFind(item, index, arr))的值', arr.some(arrFind)); // 輸出true
function arrFind(item, index, arr) {
return item === 'Tom';
// return index === 0
}
以上爲個人總結出來的一些數組對當前元素匹配與判斷,如果有遺漏和錯誤請指正!