千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > JavaScript中数组方法的自定义实现或多填充

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

来源:千锋教育
发布人:syq
时间: 2022-09-13 17:48:28 1663062508

  第 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 环境中使用的引用或抽象类。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT