大家好,又见面了,我是你们的朋友全栈君。
一、常规数组循环
let arr = [1,2,3];
for(let i = 0;i<arr.length;i++){
//条件判断或操作数组
return ; 可以return 值
}
二、ES6数组方法
1、array.forEach()
循环遍历数组中的每一项
let arr = [1,2,3]
array.forEach((item,index)=>{
//数组操作
不能return 值
})
2、array.map()
map方法和forEach每次执行匿名函数都支持3个参数,参数分别是item(当前每一项)、index(索引值)、arr(原数组),但是map返回一个新数组,原数组不影响;
let arr = [1,2,3];
let arr2 = arr.map((iitem,index)=>{
if(item==1){
return true;
}else{
return false; //通过return 返回想要的东西
}
})
结果arr2 = [true,false,false] arr = [1,2,3]
3、array.filter
筛选数组中符合条件的项,返回一个新数组
let arr = [1,2,4];
let result = arr.filter((item,index)=>{
return item>2;
})
结果 result 为 [4]
4、array.some()和array.every()
想执行一个数组是否满足什么条件,返回一个布尔值,这时forEach和map就不行了,可以用一般的for循环实现,或者用array.every()或者array.some();
(1)array.some() 类似于或
some()方法用于检测数组中的元素是否有满足条件的,若满足返回true,否则返回false
注意:1、不会对空数组检测
2、不会改变原始数组
let arr = [1,2,4];
let result = arr.some((item,index)=>{
return item>2;
})
结果 result 为true
(2) array.every() 类似于与
用于检测数组中所有元素是否都满足条件,若满足返回true,否则返回false
let arr = [1,2,4];
let result = arr.every((item,index)=>{
return item>2;
})
结果 result 为false
5、array.find()
find()方法只会找到第一个符合的,找到之后就会直接返回,就算下面还有符合要求的,也不会再找下去
let arr = [1,1,2,4];
let result = arr.find((item,index)=>{
return item>=2;
})
结果 result 为2
6、array.reduce()
reduce((sum,item)=>{…},0)要有两个参数,第一个参数一定要初始化
let arr = [{name:‘张三’,index:0},{name:‘李四’,index:1}];
let result = arr.((array,item)=>{
array.push(item.name)
return array;;
},[ ])
结果 result 为[‘张三’,‘李四’]
后续还待补充
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/136529.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...