indexOf方法
- 在字符串中的应用
有隐式转换
let string = "apple1";
console.log(string.indexOf("1"));//5
console.log(string.indexOf(1));//5
未检索到返回-1
可以传入第二个参数,表示在字符串中开始检索的位置。
返回检索位置开始指定字符第一次出现的位置
- 在数组中的应用
没有隐式转换
let arr = ["2020",1199];
console.log(arr.indexOf(2020));//-1
console.log(arr.indexOf("2020"));//0
未检索到返回-1
可以传入第二个参数,表示在数组中开始检索的位置。
返回检索位置开始指定数据第一次出现的位置
indexOf方法不能判断NaN
let arr = ["2020",1199,"2020",NaN];
console.log(arr.indexOf(NaN));//-1
includes方法
返回布尔值类型,通常用来判断数组中是否含有某个值
可以判断NaN
let arr = ["2020",1199,"2020",NaN];
console.log(arr.includes(NaN));//true
- 字符串中的应用
let string = "NaN";
console.log(string.includes("N"));//true
可以判断字符串中是否含有某个字符。
第二个参数为开始查找的位置,如果为负值按升序从 array.length + fromIndex开始查找,默认为0。
includes和indexOf的区别
includes可以判断出NaN,但是indexOf不可以。
includes的第二个参数可以接收负值,indexOf建议第二个参数的范围在0到长度-1之内。
includes返回布尔值,而indexOf返回下标或-1。