JavaScript Array 对象高阶方法 some、filter、indexOf_javascript

前言
1. some() 检测数组中的元素是否满足指定条件
2. filter() 过滤掉数组中不满足指定条件的值
3. indexOf() 判断一个元素是否在数组中存在

前言


JavaScript Array 对象方法太多了,短时间内记不住的,可以每天学几个日积月累,来学习几个常用的方法吧 !

1. some() 检测数组中的元素是否满足指定条件


用于检测数组中的元素是否满足指定条件,比如: 判断数组中是否存在大于 10 的数组元素

该方法会依次执行数组的每个元素,如果有一个元素满足条件,则返回 true , 剩余的元素不会再执行检测

​​var ages = [3, 10, 18, 20];​​

some() 的参数可以是一个函数名或闭包函数,返回值为布尔值


​​// 参数是函数名​​
​​function check(arg) {​​
​​return arg > 10;​​
​​}​​
​​var bool = ages.some(check)​​

​​// 参数是闭包函数​​
​​// index、arr 分别为数组索引、数组数据​​
​​var bool = ages.some(function (item, index, arr) {​​
​​return item > 10;​​
​​})​​
​​console.log(bool)​​

2. filter() 过滤掉数组中不满足指定条件的值


filter() 参数同 some() 参数, 可以是一个函数名或闭包函数,返回值为数组


​​var ages = [3, 10, 18, 20];​​

​​function getAge(arg) {​​
​​return arg > 10​​
​​}​​
​​var arr = ages.filter(function (item) {​​
​​return item > 10;​​
​​});​​
​​console.log(ages.filter(getAge), arr)​​

3. indexOf() 判断一个元素是否在数组中存在



​​var ages = [3, 10, 18, 20];​​
​​// 判断数组中是否存在该值​​
​​// 不存在返回 -1, 存在返回该元素在数组中的下标​​
​​var index = ages.indexOf(18)​​
​​console.log(index)​​