JavaScript中find、findIndex、indexOf有何用法和区别?
- 内容介绍
- 相关推荐
本文共计974个文字,预计阅读时间需要4分钟。
目录
一、find方法
二、findIndex方法
三、indexOf方法
四、三者区别
五、实际应用
一、find方法
find方法是ES6引入的一种数组方法,可以用来查找数组中符合条件的第一个元素。语法:javascriptarray.find(function(currentValue, index, arr), thisValue)
二、findIndex方法findIndex方法与find方法类似,也是用来查找数组中符合条件的第一个元素,但它返回的是该元素的索引,而不是元素本身。
语法:javascriptarray.findIndex(function(currentValue, index, arr), thisValue)
三、indexOf方法indexOf方法是ES5就存在的数组方法,用来查找数组中指定元素第一次出现的索引。如果不存在,则返回-1。
语法:javascriptarray.indexOf(item, start)
四、三者区别
1.返回值不同:find方法返回符合条件的元素,findIndex返回元素的索引,indexOf返回元素的索引或-1。
2.找到第一个符合条件的元素后,find和findIndex会停止搜索,而indexOf会继续搜索直到数组末尾。
3.find和findIndex可以接受一个回调函数,而indexOf只能接受一个要查找的元素。
五、实际应用
1.find方法:用于查找数组中第一个满足特定条件的元素。
2.findIndex方法:用于获取满足特定条件的元素索引。
3.indexOf方法:用于查找数组中指定元素的索引,常用于判断元素是否存在于数组中。
目录
- 一、find方法
- 二、findIndex方法
- 三、indexof方法
- 四、三者区别:
- 五、实际使用
一、find方法
find方法是ES6引入的一种数组方法,可以用来查找数组中符合条件的元素。
语法是:
array.find(callback(element[, index[, array]])[, thisArg])
callback是一个函数,用来测试每个元素是否符合条件。callback函数接收三个参数,分别是当前遍历的元素、元素的索引、原数组本身。当找到符合条件的元素时,find方法会返回该元素的值。如果没有找到符合条件的元素,则返回undefined。
例如:使用find方法查找数组中第一个>6的元素
const numbers = [1, 3, 5, 7, 9]; const result = numbers.find(element => element > 6); console.log(result); // 7
在callback函数中,我们使用箭头函数语法,检查每个元素是否>6,因为7是第一个>6的元素,索引find方法返回7作为结果。
二、findIndex方法
findIndex方法也可用来查找数组中符合条件的元素,返回符合条件的元素在数组中的索引。
语法:
array.findIndex(callback(element[, index[, array]])[, thisArg])
当找到符合条件的元素时,findIndex方法会返回该元素在数组中的索引。如果没有找到符合条件的元素,则返回-1。
例如:使用findIndex方法查找数组中第一个>6的元素的索引
const numbers = [1, 3, 5, 7, 9]; const result = numbers.findIndex(element => element > 6); console.log(result); // 3
因为7是第一个>6的元素,他的索引是3,所以findIndex方法返回3作为结果。
三、indexof方法
indexof方法,可以用来查找数组中指定元素的位置。
语法:array.indexOf(searchElement[, fromIndex])
searchElement是要查找的元素,fromIndex是可选参数,表示从哪个索引开始查找。当找到指定元素时,indexof方法会返回该元素所在数组中的索引,如果没有找到则返回-1。
例如:使用indexof方法查找数组中7的索引
const numbers = [1, 3, 5, 7, 9]; const result = numbers.indexOf(7); console.log(result); // 3
因为7的索引是3,所以indexof方法返回3作为结果。
四、三者区别:
1、返回结果不同。find方法返回符合条件的元素的值,findIndex方法返回符合条件的元素在数组中的索引,而indexof方法返回指定元素在数组中的索引。
2、参数不同。find和findIndex方法都需要传入一个回调函数作为参数,该函数用来测试每个元素是否符合条件。而indexof方法则直接传入要查找的元素作为参数。
五、实际使用
在实际开发中,如果我们要查找符合条件的元素的值,可以使用find方法,如果需要查找符合条件的元素在数组中的索引,可以使用findIndex方法,如果只需要查找指定元素在数组中的索引,可以使用indexof方法。
到此这篇关于js中find、findIndex、indexOf的用法和区别的文章就介绍到这了,更多相关js find findIndex indexOf内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!
本文共计974个文字,预计阅读时间需要4分钟。
目录
一、find方法
二、findIndex方法
三、indexOf方法
四、三者区别
五、实际应用
一、find方法
find方法是ES6引入的一种数组方法,可以用来查找数组中符合条件的第一个元素。语法:javascriptarray.find(function(currentValue, index, arr), thisValue)
二、findIndex方法findIndex方法与find方法类似,也是用来查找数组中符合条件的第一个元素,但它返回的是该元素的索引,而不是元素本身。
语法:javascriptarray.findIndex(function(currentValue, index, arr), thisValue)
三、indexOf方法indexOf方法是ES5就存在的数组方法,用来查找数组中指定元素第一次出现的索引。如果不存在,则返回-1。
语法:javascriptarray.indexOf(item, start)
四、三者区别
1.返回值不同:find方法返回符合条件的元素,findIndex返回元素的索引,indexOf返回元素的索引或-1。
2.找到第一个符合条件的元素后,find和findIndex会停止搜索,而indexOf会继续搜索直到数组末尾。
3.find和findIndex可以接受一个回调函数,而indexOf只能接受一个要查找的元素。
五、实际应用
1.find方法:用于查找数组中第一个满足特定条件的元素。
2.findIndex方法:用于获取满足特定条件的元素索引。
3.indexOf方法:用于查找数组中指定元素的索引,常用于判断元素是否存在于数组中。
目录
- 一、find方法
- 二、findIndex方法
- 三、indexof方法
- 四、三者区别:
- 五、实际使用
一、find方法
find方法是ES6引入的一种数组方法,可以用来查找数组中符合条件的元素。
语法是:
array.find(callback(element[, index[, array]])[, thisArg])
callback是一个函数,用来测试每个元素是否符合条件。callback函数接收三个参数,分别是当前遍历的元素、元素的索引、原数组本身。当找到符合条件的元素时,find方法会返回该元素的值。如果没有找到符合条件的元素,则返回undefined。
例如:使用find方法查找数组中第一个>6的元素
const numbers = [1, 3, 5, 7, 9]; const result = numbers.find(element => element > 6); console.log(result); // 7
在callback函数中,我们使用箭头函数语法,检查每个元素是否>6,因为7是第一个>6的元素,索引find方法返回7作为结果。
二、findIndex方法
findIndex方法也可用来查找数组中符合条件的元素,返回符合条件的元素在数组中的索引。
语法:
array.findIndex(callback(element[, index[, array]])[, thisArg])
当找到符合条件的元素时,findIndex方法会返回该元素在数组中的索引。如果没有找到符合条件的元素,则返回-1。
例如:使用findIndex方法查找数组中第一个>6的元素的索引
const numbers = [1, 3, 5, 7, 9]; const result = numbers.findIndex(element => element > 6); console.log(result); // 3
因为7是第一个>6的元素,他的索引是3,所以findIndex方法返回3作为结果。
三、indexof方法
indexof方法,可以用来查找数组中指定元素的位置。
语法:array.indexOf(searchElement[, fromIndex])
searchElement是要查找的元素,fromIndex是可选参数,表示从哪个索引开始查找。当找到指定元素时,indexof方法会返回该元素所在数组中的索引,如果没有找到则返回-1。
例如:使用indexof方法查找数组中7的索引
const numbers = [1, 3, 5, 7, 9]; const result = numbers.indexOf(7); console.log(result); // 3
因为7的索引是3,所以indexof方法返回3作为结果。
四、三者区别:
1、返回结果不同。find方法返回符合条件的元素的值,findIndex方法返回符合条件的元素在数组中的索引,而indexof方法返回指定元素在数组中的索引。
2、参数不同。find和findIndex方法都需要传入一个回调函数作为参数,该函数用来测试每个元素是否符合条件。而indexof方法则直接传入要查找的元素作为参数。
五、实际使用
在实际开发中,如果我们要查找符合条件的元素的值,可以使用find方法,如果需要查找符合条件的元素在数组中的索引,可以使用findIndex方法,如果只需要查找指定元素在数组中的索引,可以使用indexof方法。
到此这篇关于js中find、findIndex、indexOf的用法和区别的文章就介绍到这了,更多相关js find findIndex indexOf内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

