高阶函数
forEach
forEach用于遍历数组中所有元素,用法非常广泛,例如用在循环绑定事件
arr.forEach(function(item,index){
//item为当前循环的元素,index为当前元素的索引
})
map
用于遍历数组,和forEach使用基本一致,只不过map
有返回值,会返回一个新数组,原数组不变。
// 形参中item表示遍历的当前元素,index表示当前元素索引,arr表示原数组;
const newArr = arr.map(function(item,index,arr){
// 将arr数组中每个元素都加1,组成新的数组返回
return item + 1;
})
// 不需要的形参可省略不写
filter
将数组中符合条件的元素全部过滤出来,返回到新数组中,原数组不变。返回元素后函数将继续执行,直到遍历所有数组。
const newArr = arr.filter(function(item,){
return item > 18; // 将arr数组中所有大于18的元素筛选出来放入新数组中
})
find
将数组中符合条件的第一个元素过滤出来,原数组不变。返回一个元素后函数将不再执行。
const a = arr.find(function(item) {
return item >18; // 将arr数组中第一个大于18的元素返回出来,返回后find函数不再执行
})
every
判断数组中所有元素是否符合条件,全部符合返回true,只要有一个不符合就返回false。
let res = arr.every(function(item){
return item > 3; // 判断arr数组中所有元素是否都大于3
})
console.log(res); // false 一个不符合则为false
some
判断数组中所有元素,只要有一个符合条件就返回true,一个都不符合返回false。
let res = arr.some(function(item) {
return item > 3; // 判断arr数组中所有元素是否有大于3的元素
})
sort
将数组中元素进行升序排列,注意:它会根据每个元素第一位开始比
arr.sort(); // 返回升序后的数组
网友评论