zl程序教程

您现在的位置是:首页 >  Javascript

当前栏目

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

2023-02-18 16:45:56 时间

前言


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)