js中forEach、filter、map、find、findIndex的区别

40 篇文章 1 订阅

首先forEach、filter、map、find、findIndex都是用来遍历数组的,那么他们的区别是什么?

let stu=[
	{name:'lisa',age:18},
	{name:'lili',age:19},
	{name:'anla',age:20},
	{name:'alex',age:21},
	{name:'tom',age:22},
]

1.forEach:

遍历数组全部元素,利用回调函数对数组进行操作,改变原数组。return用来控制循环是否跳出当前循环。

stu.forEach(item=>{
	item.age=item.age+10
})
console.log(stu)

请添加图片描述

2.filter

主要用于过滤当前数组,找出符合条件的元素,返回一个新数组,不会改变原数组ˆ
let newstu=stu.filter(item=>{
	return item.age>11
})

请添加图片描述
请添加图片描述

3.map

可以不改变当前循环当中的值,返回一个新的被改变过值之后的数组,一般用来处理需要修改某一个数组的值

let newstu2=stu.map(item=>{
	return item.age+10
})
console.log(newstu2)
console.log(stu)

请添加图片描述
请添加图片描述

4.find()

该方法返回数组中第一个满足条件的元素,找不到则返回undefined(该方法为es6新增)
语法:arr.find(item,index,arr)(除了arr其他非必传)
item:每一次迭代查找的数组元素
index:每一次迭代查找的素组元素索引
arr:被查找的数组

function getStu(element){
   return element.name == 'lisa'
}
 stu.find(getStu)
 //{name:'lisa',age:18}

5.findIndex()方法

返回数组中第一个满足条件的索引,找不到返回-1(该方法为es6新增)
语法:arr.findIndex(item,index,arr)
item:每一次迭代查找的数组元素。
index:每一次迭代查找的数组元素索引。
arr:被查找的数组。

function getStu(element){
   return element.name == 'lisa'
}
 stu.findIndex(getStu)//0
 
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值