includes:传入两个参数,value:必传,要查找的值,如果匹配到就返回true,没有匹配到返回false;index:可选参数,开始查找的下标,默认从0开始查找,如果匹配到就返回true,没有匹配到返回false。
const arr = ['小明', 'a', 'b', 'c']
arr.includes('a')//true
arr.includes('小明')//true
arr.includes('a', 1)//true
arr.includes('a', 2)//false 此时a的下标是1,从2开始查找往后就没有a这个值所以返回false
arr.includes('小明', 1)//false
arr.includes('a', -1)//true index传入负数则会查找整个数组
arr.includes('a', 100)//true index传入大于数组长度的数值直接返回false
indexOf:传入两个参数,value:必传,要查找的值,如果匹配到就返回值所在的位置,没有匹配到返回-1;index:可选参数,开始查找的下标,默认从0开始查找,如果匹配到就返回值所在的位置,没有匹配到返回-1。
const arr = ['小明', 'a', 'b', 'c']
arr.indexOf('b')//2
arr.indexOf('小美')//-1
arr.indexOf('小明')//0
arr.indexOf('a', 1)//1
arr.indexOf('小明', 2)//-1 此时小明的下标是0,从2开始查找往后就没有小明这个值所以返回-1
arr.indexOf('小明', 0)//0
arr.indexOf('c', -1)//3 index传入负数则会查找整个数组
arr.indexOf('a', 100)//true index传入大于数组长度的数值直接返回false
//也可以匹配字符串
const value="青少年都是祖国的花朵!"
value.indexOf('花朵')//8 记录第一个字符出现的位置
value.indexOf('鸟')//-1
value.indexOf('都是')//3
总结:includes、indexOf使用方法相对比较简单,没什么技巧,初学者上手也比较快,多使用几次就好了。