js中的filter方法和map方法

本文深入解析JavaScript中的filter和map方法,通过示例说明如何利用这些方法对数组元素进行过滤和转换,创建新的数组对象,同时保持原数组不变。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

filter方法又叫过滤器,顾名思义就是过滤符合条件的得到一个新的数组

let arr = [7,8,9,10]
let arr = [7, 8, 9, 10]
let newArr = arr.filter(function(value, index) { //这里的value代表的时数组中每个元素,index是对应的下标
//列如返回数组大于8的元素
if (value > 8) {
	return value
	}
})
console.log(arr)
console.log(newArr)

在这里插入图片描述
现在我们看看对原数组进行修改会返回什么结果

let arr = [7,8,9,10]
let arr = [7, 8, 9, 10]
let newArr = arr.filter(function(value, index) { //这里的value代表的时数组中每个元素,index是对应的下标
//列如返回数组大于8的元素
if (value > 8) {
	return value+'你好'
	}
})
console.log(arr)
console.log(newArr)

在这里插入图片描述
会发现数据不会发生改变的。
也就是说:filter方法是对原数组的元素进行过滤,返回到一个新的数组中去。不影响原始的数组。

map方法的使用

let arr = [7,8,9,10]
let arr = [7, 8, 9, 10]
let newArr = arr.map(function(value, index) { //这里的value代表的时数组中每个元素,index是对应的下标
//列如返回数组大于8的元素
if (value > 8) {
	return value+'你好'
	}
})
console.log(arr)
console.log(newArr)

在这里插入图片描述
可以看到,多打印了两个undefined,这不是我想要的结果,你可以这样

   let arr = [7, 8, 9, 10]
	let newArr = arr.map(function(value, index) { //这里的value代表的时数组中每个元素,index是对应的下标
			//列如返回数组大于8的元素
			if (value > 8) {
				return value + '你好'
			}
			return value
		})

在这里插入图片描述
总结

  • filter方法是对原数组进行过滤筛选,产生一个新的数组对象
  • map方法对元素中的元素进行加工处理,产生一个新的数组对象,而且不会改变数组的原始长度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值