JS中map() some() every()的用法
map(数组,函数) map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。(注意这里返回的是一个新数组,原来数组内存地址不改变,map不会改变原数组,map不会检查空数组)
接收一个数组和函数,利用函数里边的表达式改变接收到的数组,赋值给另一个新的数组
const map =(array,fn) =>{
// 创建一个空数组
let number =[]
//遍历传进来的array数组放到value里边
for(let value of array){
// 调用传进来的函数里边的表达式,添加到number空数组中
number.push(fn(value))
}
//输出number
return number
}
//创建一个数组并且初始化
let arr = [1,2,3,4]
//把调用map高阶函数得到的值赋值给arr1
const arr1 = map(arr,item=>{ //传递给map两个参数,一个数组,一个函数
return item*item
})
//打印arr1
console.log(arr1)
every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)
不创建新数组,不改变原数组,判断为false则马上return false,否则return true;
const every = (array,fn) =>{
//假设全员匹配
let res = true
for (let value of array){
//通过条件进行判断
res = fn(value)
//如果有一个元素不匹配,则终止循环,返回res
if(!res){
break
}
}
return res
}
console.log(every(arr,item=>item>0))
some() 判断数组中的元素是否满⾜某个条件(函数提供)
不创建新数组,不改变原数组,判断为true则马上return true,否则 return false
返回的是布尔类型的数据。
const some = (array,fn) =>{
let res = false
for(let value of array){
res = fn(value)
if(res){
break
}
}
return res
}