filter
使用filter,返回所有符合条件的值。
let arr = [1,2,3,4,5,6]
arr.filter(item=>{return item===3})//[3]
arr.filter(item=>{return item>3})//[3,4,5]
indexOf和lastIndexOf
indexOf自前向后查询,返回指定字符第一次出现时的索引,如果没找到则返回-1.
let arr = [1,2,3,4,5,6]
arr.indexOf(2)//1
indexOf也可以传入一个索引,从该索引处开始向后查找指定值。
let arr = [1,2,3,4,5,6]
arr.indexOf(2,0)//1
arr.indexOf(2,3)//-1
lastIndexOf自后向前查询,返回指定字符最后一次出现时的索引,没找到返回-1.传入索引时,自该索引向前查询。
let arr2=[1,2,2,5,8,2,7,9]
arr2.lastIndexOf(2)//5
arr2.lastIndexOf(2,4)//2
indexOf和lastIndexOf不止可以用来查找数组,同样可以用来查找字符串是否包含指定值。
indcludes
includes返回true和false,如果包含则返回true,不包含返回false。 includes同样可以传入一个索引值,从该索引处开始查找,
let arr = [1,2,3,4,5,6]
arr.includes(2)//true
arr.includes(2,1)//true
arr.includes(2,3)//false
some
some入参一个函数,用于检测数组中的元素是否满足指定条件,如果满足则返回true,剩下的元素不会再进行检测,如果不满足则返回false。
let arr = [1,2,3,4,5,6]
arr.some(item=>{return item===4})//true
arr.some(item=>{return item===7})//false
find
find返回满足判断条件的第一个值,没找到则返回undefined。find找到符合条件的元素后返回该元素,不会再判断后面的元素。
let arr = [1,2,3,4,5,6]
arr.find(item=>{return item===4})//4
arr.find(item=>{return item>4})//5
findIndex
findIndex返回数组中符合判断条件的第一个值的索引找不到则返回-1。且找到后不会再判断后面的元素。
let arr = [1,2,3,4,5,6]
arr.findIndex(item=>{return item===4})//3
arr.findIndex(item=>{return item>4})//4