工作中应用 => 如果要检索的字符串值没有出现,则该方法返回 -1
找数组中的元素 也可以使用es6的find()方法
非要对 number 类型使用 indexOf 方法嘞?那就转换成字符串咯,接着上例来写
findIndex() 方法返回传入一个测试条件(函数)符合条件的数组第一个元素位置。
findIndex() 方法为数组中的每个元素都调用一次函数执行:
当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 -1
注意: findIndex() 对于空数组,函数是不会执行的。
注意: findIndex() 并没有改变数组的原始值。
参考这篇文章
https://www.jianshu.com/p/1c15be16a85a
indexOf() 方法可返回数组中某个指定的元素位置。
该方法将从头到尾地检索数组,看它是否含有对应的元素。开始检索的位置在数组 start 处或数组的开头(没有指定 start 参数时)。如果找到一个 item,则返回 item 的第一次出现的位置。开始位置的索引为 0。
如果在数组中没找到指定元素则返回 -1。
对比:
1、findIndex()和indexOf方法实现都是通过循环遍历查找。
2、findIndex()的应用场景要比indexOf广泛一些,可以查找大于等于小于,表达式可以随便写,indexOf就只能在第一层查找相等的值。
3、findIndex()实际上相当于一个for循环,只不过找到了你不需要自己退出。
indexof函数的用法检测一个字符串在另一个字符串中出现的位置1、语法
字符串1.indexOf("字串2"[,索引n])
从索引n开始查找字符串2在字符串1中首次出现的下标,如果下标为-1,则表示字符串2在字符串1中不存在
2、示例
1)var str="hello world"
var ix=str.indexOf("l")
则ix=2,因为未指定第2个参数,则从下标为0处开始找,第一个l是第三个字符,但下标为2
2)var str="hello world"
var ix=str.indexOf("l",5)
则ix=9,因为指定了第2个参数,则从下标为5处开始找,即从空格出往后找起,第一个l出现的位置位于整个字符串的第10个字符,下标为9
3)var str="hello world"
var ix=str.indexOf("lx")
则ix=-1,因为未指定第2个参数,则从下标为0处开始找,没找到,则返回-1
4)var str="hello world"
var ix=str.indexOf("ll",5)
则ix=-1,因为指定了第2个参数,则从下标为5处开始找,没找到,则返回-1
JavaScript中indexOf函数方法是返回String对象内第一次出现子字符串的字符位置。使用方法:
strObj.indexOf(subString[, startIndex])//其中strObj是必选项。String 对象或文字。
//subString是必选项。要在 String 对象中查找的子字符串。
//starIndex是可选项。该整数值指出在 String 对象内开始查找的索引。如果省略,则从字符串的开始处查找。
indexOf函数是从左向右执行查找。否则,该方法与 lastIndexOf
相同。下面的示例说明了indexOf函数方法的用法。
function IndexDemo(str2){var str1 = "BABEBIBOBUBABEBIBOBU"
var s = str1.indexOf(str2)
return(s)
}
JavaScript中indexOf()函数方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。