JavaScript中的filter与map的区别2024年8月31日 | 阅读 4 分钟 概述在 JavaScript 中,filter 和 map 都是操作数组的高阶函数。但是,它们用途不同,功能也有区别。在本主题中,我们将讨论 JavaScript 中 filter 和 map 的区别。 Filter() 方法filter() 方法会创建一个新数组,新数组包含所有满足特定条件的元素。它接受一个回调函数作为参数,并对数组中的每个元素调用该回调函数。回调函数必须返回 true 或 false。如果回调函数为某个元素返回 true,则该元素会被添加到新数组中。如果返回 false,则不包含该元素。 示例 1假设您有一个整数数组,并希望创建一个只包含偶数的新数组。 这是应用 filter 方法的方法 输出 [ 2, 4, 6 ] 在此示例中,回调函数通过检查元素除以 2 的余数是否为零来检查数组中的每个元素是否为偶数。如果余数为零,则函数返回 true,并将该元素包含在新数组中。 示例 2让我们来看另一个 filter 方法的例子,并使用 filter() 技术来识别数组中的所有左脚球员。 输出 [ { name: 'Jasu', footedness: 'left', position: 'forward' }, { name: 'Loganadu', footedness: 'left', position: 'defense' } ] Map() 方法map() 方法会对每个数组元素调用一个函数,并将结果返回到一个新数组中。map 方法允许用户根据需要随意操作数组的元素,并将修改结果返回到一个全新的数组中。 map() 方法通过对原始数组中的每个元素进行修改来生成新数组。传递给 map() 的回调函数,与 filter() 一样,会对数组中的每个元素调用。为了包含在新数组中,回调函数必须返回新值。 示例考虑您想从一组数字中构建一个新数组,该数组包含每个数字的平方。map 方法可以这样应用: 输出 [ 1, 4, 9, 16, 25 ] 在此示例中,回调函数获取数组中的每个元素并对其进行平方,然后返回新值。map() 方法创建一个包含转换后元素的新数组。 示例 2让我们来看另一个 map 方法的例子,计算数组中年龄的平方根。 输出 [5, 6, 7, 8, 9] filter() 和 map() 之间的主要区别之一是它们的返回值。filter() 方法始终返回一个包含原始数组中元素的一个子集的数组,该子集基于某些条件。相反,map() 方法始终返回一个新数组,其元素数量与原始数组相同,但每个元素都根据回调函数进行了转换。 filter() 和 map() 之间的另一个区别是回调函数的类型。filter() 的回调函数必须返回一个布尔值,指示是否应将元素包含在新数组中。map() 的回调函数可以返回任何值,该值将成为新数组中相应元素的新值。 值得注意的是,filter() 和 map() 都不会修改原始数组。相反,它们会创建一个新的数组,该数组是原始数组的子集或转换。 结论总而言之,filter() 和 map() 都是 JavaScript 中有用的数组方法,但用途不同。filter() 方法用于根据某些条件创建一个包含原始元素子集的新数组,而 map() 用于根据回调函数创建一个包含每个元素都已转换的新数组。 下一主题区别 |
什么是投资?投资是个人理财的关键方面,因为它使个人能够建立财富并确保他们的财务未来。投资涉及分配资源,通常是金钱,以期在一段时间内产生回报。有各种类型的投资……
阅读 8 分钟
在决定购买新智能手机之前,我们会查看 CPU、软件、摄像头、显示屏类型、电池等一系列功能。人们一直担心智能手机如何显示信息。此外,由于指数级的进步,有许多不同的显示技术可供选择……
7 分钟阅读
分子通过两种基本机制渗透和穿过膜:主动运输和被动运输。这些生物过程在维持细胞正常功能和确保必要物质穿过细胞膜方面起着至关重要的作用。由于这两种方法都涉及...
阅读 4 分钟
商业折扣和现金折扣是企业用于促进销售和激励客户的两种折扣。虽然这两种折扣都提供产品或服务的价格降低,但它们之间存在显著差异。在本文中,我们将讨论...
阅读 6 分钟
咨询师和教练拥有帮助他人的共同目标,并采用相似的人际沟通技巧。尽管他们都提供旨在帮助个人和企业充分发挥其潜力的服务,但他们的职能是不同的。辅导和咨询中有许多技术。因此,这些技术...
阅读 4 分钟
引言 企业通常依赖代理商和分销商等中间商来促进其商品和服务的销售。尽管两者都起着至关重要的作用,但他们在销售过程中运作方式不同。例如,代理商充当促进和倡导制造商产品的中间商……
阅读9分钟
引言广告是一个熟悉的概念,无需介绍。每天,无论我们看电视、使用社交网站、浏览网页、查看报纸、开车还是进行其他活动,我们都会遇到无数广告。利用创新和引人入胜的想法,它利用数字渠道来推广......
阅读 3 分钟
微处理器是计算机系统处理器,它在单个集成电路上实现了 CPU 的功能。它管理输出设备,处理其内存中存储的指令,并显示结果。这些处理器由组合和时序数字电路组成……
阅读 4 分钟
引言 金融行业经常使用“股权”和“证券”这两个术语,它们在投资和公司金融领域都具有特定但相关的功能。尽管它们之间存在一些相似之处,但交易员、投资者和利益相关者都必须了解它们之间的差异……
阅读 6 分钟
在本文中,我们将讨论 Sequelize 和 Mongoose 之间的区别。在讨论它们的区别之前,我们必须先了解它们。Sequelize 是什么?Sequelize 是一个非常活跃且强大的 JavaScript ORM 库。它是一种 MOM(映射导向映射)风格的...
5 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India