JavaScript中Array.from()的超全用法详解

yizhihongxing

JavaScript中Array.from()的超全用法详解

什么是Array.from()

Array.from()是ECMAScript6中新增的一个方法,可以将类数组对象和可迭代对象(如Set、Map)转换成真正的数组,方便对数据进行操作。

Array.from()的语法结构

Array.from(iterable[, mapFn[, thisArg]]),其中参数说明如下:

  • iterable:需要转换成数组的数组类对象或可迭代对象。
  • mapFn:(可选)用来对每个元素进行处理的函数。
  • thisArg:(可选)执行mapFn函数时的this对象。

使用Array.from()将类数组对象转为数组

示例:

function foo() {
  const args = Array.from(arguments) // 转换arguments为真正的数组
  console.log(args)
}

foo(1, 2) // 输出 [1, 2]

这里将arguments对象转换为真正的数组,便于对其进行操作。

再看一个更加直观的示例:

const divList = document.querySelectorAll('div')
const divArray = Array.from(divList)

使用document.querySelectorAll会返回一个类数组对象,使用Array.from()可以将其转换为数组。

使用Array.from()将可迭代对象转为数组

示例:

const set = new Set(['a', 'b', 'c'])
const arrSet = Array.from(set)
console.log(arrSet) // 输出 ['a', 'b', 'c']

这里将Set对象转换为了数组arrSet。

使用Array.from()的第二个参数

第二个参数mapFn是一个函数,用于对数组中每个元素进行处理,可以很方便地对数据进行转换。

示例:

const arr = [1, 2, 3]
const newArr = Array.from(arr, x => x * 2)
console.log(newArr) // 输出 [2, 4, 6]

这里将arr中的每个元素都乘以2,然后返回了新的数组newArr。

使用Array.from()的第三个参数

第三个参数thisArg是用于指定函数中的this指向的对象,这个在复杂场景中非常适用。

示例:

const arr = [1, 2, 3]
const obj = {
  factor: 2,
  double(value) {
    return value * this.factor
  },
}
const newArr = Array.from(arr, obj.double, obj)
console.log(newArr) // 输出 [2, 4, 6]

在这里,Array.from()调用obj.double()方法作为遍历函数,指定obj对象作为this值。

总结

  • Array.from()方法是将类数组对象和可迭代对象(如Set、Map)转换成真正的数组。
  • Array.from()方法的语法结构非常简单,可以通过第二个参数和第三个参数进行更灵活的操作。
  • 使用Array.from()可以更加方便地对数据进行操作。

以上就是JavaScript中Array.from()的超全用法详解,希望对你们有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript中Array.from()的超全用法详解 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • JavaScript为内置对象添加原型方法实现

    JavaScript内置对象是指在语言中预定义的构造函数和可用于JavaScript中的全局对象。这些内置对象包括字符串(String)、数值(Number)、日期(Date)、正则表达式(RegExp)等。在该对象的原型(prototype)上定义一个新的方法的过程可以被称为“为内置对象添加原型方法”。 下面是一个完整的攻略,用于向内置对象添加原型方法: …

    JavaScript 2023年6月10日
    00
  • javascript实现文件拖拽事件

    下面是javascript实现文件拖拽事件的完整攻略: 1. 拖拽事件的基本概念 拖拽事件是指在网页中,用户可以通过鼠标拖拽文件或者文本等内容,实现移动、复制或者上传等操作。常见的拖拽事件有三种: dragstart:拖拽开始时触发。 dragover:当被拖拽的元素在目标元素上方移动时触发。 drop:当被拖拽的元素被放置到目标元素上时触发。 在拖拽事件中…

    JavaScript 2023年5月27日
    00
  • jQuery中DOM节点的删除方法总结(超全面)

    jQuery中DOM节点的删除方法总结(超全面) 1. jQuery 中的节点删除方法 在前端开发中,我们经常需要对DOM元素进行操作。当不需要某一个DOM节点时,我们需要将其从页面中移除。在jQuery中,有多种方式可以删除DOM节点。下面我们一一介绍这些方法。 1.1 remove()方法 remove()方法可以删除选定的元素,包括其子元素。它用于彻底…

    JavaScript 2023年6月10日
    00
  • JavaScript转换二进制编码为ASCII码的方法

    要将JavaScript中的二进制编码转换成ASCII码,可以使用String.fromCharCode()方法和String.charCodeAt()方法中的其中一个。 使用String.fromCharCode()方法 String.fromCharCode()方法可以将unicode值转化成ASCII码。 下面是一个简单的示例,将二进制编码“01000…

    JavaScript 2023年5月20日
    00
  • JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例

    下面我将详细讲解JavaScript处理HTML事件、键盘事件、鼠标事件的攻略,包括基础概念、代码实现和示例说明。 HTML事件 基础概念 HTML事件是页面元素在浏览器中发生的特定操作,如点击、鼠标移动、键盘按下等。在JavaScript中,我们可以通过事件驱动来实现对HTML事件的处理。 代码实现 // 获取对应元素 var ele = document…

    JavaScript 2023年6月11日
    00
  • 详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)

    生成一个倒数7天的数组,可以通过JavaScript中的Date对象来实现。 了解Date对象以及getDate、setDate方法 Date对象是JavaScript中处理日期和时间的核心对象。我们可以利用它来获取当前日期和时间,以及进行各种日期和时间的计算和操作。 Date对象提供了许多方法来获取和设置日期的各个部分。其中,getDate和setDate…

    JavaScript 2023年6月10日
    00
  • 微信小程序API—获取定位的详解

    微信小程序API—获取定位的详解 什么是获取定位? 获取定位是指小程序通过调用微信所提供的API,获得用户当前的地理位置信息。通过获取定位,小程序可以根据用户所在的位置提供相应的服务。 如何获取定位? 在小程序中,我们可以通过wx.getLocation()方法来获取用户当前位置的经纬度信息。在API文档中,我们可以找到该方法的详细描述。下面是该方法的基本语…

    JavaScript 2023年6月11日
    00
  • 分享JS表单验证源码(带错误提示及密码等级)

    分享JS表单验证源码是一项非常实用的技能,让我们一步步来学习如何完成它。 首先我们需要准备一个HTML表单。代码如下: <form action="#" method="POST"> <label>用户名:</label> <input type="text&quot…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部