全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

JavaScript中数组方法的自定义实现或多填充

发布时间:2022-09-13 17:48:28
发布人:syq

  第 1 部分:在 JavaScript 中自定义实现映射()、简化() 和过滤()方法。

  脚本中的多边填充

  今天我将向您展示实现,或者我们称之为3种广泛使用和着名的数组方法的Polyfills(自定义实现)。

JavaScript中数组方法

  这是面试官可以要求你写一些关于这些方法的幕后实现(映射,简化,过滤)的东西。每次都会为数组的新副本编写这些函数,因此它不会改变您的实际数组。

  1. 地图()

  map() 是一个接受回调函数的方法,该函数对数组的每个元素执行。简单来说,它用于操作/转换该数组中存在的元素。

  它返回一个新数组(这意味着它不会改变或更改您的实际数组)。

  从映射中出来的数组是一个转换后的数组,它可能与实际数组相同,也可能不相同。

  自定义实现

41

  自定义地图实现

  map() 的这个自定义实现将返回转换后的数组。

  为什么我们需要附加它的原型?

  由于数组就像一个对象,它有一些内置的方法。要重写或编写我们的自定义方法并使其可用于数组类,它需要附加到原型链,该原型链将在JavaScript中执行继承。因此,要为数组或对象提供任何自定义方法,您需要在其原型链上调用方法。

  2. 减少()

  reduce() 是接受称为化简器的回调函数的方法。

  它在数组的每个元素上调用,这些元素最终累积为单个值。

  回调符(化简器)包含以下参数:

  上一个值:我们从上次函数调用中获得的值。在第一次调用时,如果给出,它将返回“初始值”,否则,它将返回arr[0]的值。

  当前值:当前元素的值。在第一次调用时,如果给出初始值,则返回 arr[0] 的值,否则返回 arr[1] 的值。

  当前索引:元素的当前索引。如果给出初始值,它必须为 0,否则应从索引 1 开始。

  数组:用于遍历的数组。

  使用案例:

  无初始值

  具有初始值

42

  自定义实现减少()

  3. 过滤器()

  filter() 方法接受一个回调,该回调针对给定数组的每个项执行。

  与上面相同 — 它返回一个新数组。

  它将返回筛选的真实值。

43

  过滤器()函数的自定义实现

  这就是一些数组方法的自定义实现的工作原理,也是一个很好的起点,您可以在其中了解JavaScript如何在后台创建其内置方法实现及其工作原理。

  您可以创建自己的 Polyfill 或像这样的自定义方法,并将其附加到原型链,以使其可用于 JavaScript 环境中使用的引用或抽象类。

相关文章

三维重建 3D reconstruction有哪些实用算法?

三维重建 3D reconstruction有哪些实用算法?

2023-10-14
朴素贝叶斯、决策树、K 近邻、SVM、逻辑回归最大熵模型的应用场景是什么?

朴素贝叶斯、决策树、K 近邻、SVM、逻辑回归最大熵模型的应用场景是什么?

2023-10-14
精确率、召回率、F1 值、ROC、AUC 各自的优缺点是什么?

精确率、召回率、F1 值、ROC、AUC 各自的优缺点是什么?

2023-10-14
什么是TestOps测试运维?

什么是TestOps测试运维?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取