js将类数组对象转换成数组对象

将类数组对象转换成数组是 JavaScript 中常见的操作,类数组对象通常具有数字索引以及 length 属性,但不具有数组的一些操作方法。下面是将类数组对象转换成数组对象的完整攻略。

方法一:使用 Array.from()

可以使用 Array.from() 方法将类数组对象转换成一个新的数组。Array.from() 接受一个类数组对象或可迭代对象,并返回一个新的数组。

const nodeList = document.querySelectorAll('div'); //获取 DOM 元素
const divArray = Array.from(nodeList);            //将 DOM 转换成数组
console.log(divArray);

上面的代码通过 document.querySelectorAll 获取到页面中所有的 div 元素,然后使用 Array.from() 方法将 NodeList 转换成数组。转换后,可以使用数组的各种方法来操作这个数组,比如使用 forEach() 遍历数组。

divArray.forEach(element => {
  console.log(element);
});

方法二:使用 Array.apply()

也可以使用 Array.prototype.slice.call() 或者 Function.prototype.call() 方法将类数组对象转换成数组,但这些方法实现起来相对繁琐。简单来说,就是通过借用数组 slice 方法,将数组的原型方法应用在类数组对象上,从而得到一个新的数组。

const nodeList = document.querySelectorAll('div'); //获取 DOM 元素
const divArray = Array.prototype.slice.call(nodeList);  //使用 slice 方法将 NodeList 转换成数组
console.log(divArray);

上面的代码同样是将 NodeList 转换成数组,并将转换后的数组打印到控制台中。这里借用了 slice 方法,并将其应用在 nodeList 上,作用与 Array.from() 相同。

以上就是两种将类数组对象转换成数组对象的方法及示例。这种操作在前端开发中非常常见,掌握这种技能对于前端开发人员来说是非常必要的。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js将类数组对象转换成数组对象 - Python技术站

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

相关文章

  • JavaScript模拟实现”双11″限时秒杀效果

    下面是“JavaScript模拟实现”双11″限时秒杀效果”的完整攻略。 步骤一:准备工作 首先,在页面中添加一个倒计时的 DOM 元素。 然后,在 JavaScript 中设置秒杀开始和结束的时间,并将其转换为 Date 对象。 var startTime = new Date(‘2021-11-11 00:00:00’).getTime(); // 秒杀…

    JavaScript 2023年6月11日
    00
  • TS 中 never,void,unknown类型详解

    那么我们来详细讲解一下 TS 中 never、void 和 unknown 类型的相关知识点。 never 类型 never 类型表示永不存在的类型。也就是说,无法终止的函数或者总是抛出错误的函数的返回类型就是 never。 在实际使用中,通常用于处理不应该出现的情况或者用于避免编写无用的代码。 下面是一个示例函数,它总是会抛出异常: function th…

    JavaScript 2023年6月10日
    00
  • jQuery和JavaScript节点插入元素的方法对比

    jQuery和JavaScript都可以通过节点插入元素来动态修改页面内容。下面将详细讲解jQuery和JavaScript节点插入元素的方法对比。 jQuery节点插入元素 jQuery的节点插入元素的方法主要有以下三个: 1. append() append()方法用于向元素的结尾插入内容,语法如下: $(selector).append(content…

    JavaScript 2023年6月10日
    00
  • pdf.js 使用

    pdf文件能够比较好的保留源格式,传输也比较方便,现PC端浏览器基本都可直接查看pdf文件,只是界面风格不怎么统一,但是手机端查看pdf文件就不能很好的只“预览”,往往都是自动下载到本地再查看,今天分享pdf.js,主要用于在线pdf预览,平时我使用比较多的场景就是培训手册。 我用的是1.1.159,版本比较旧,解压后文件只有3.66 MB。     使用方…

    JavaScript 2023年4月18日
    00
  • 最原始的jQuery注册验证方式

    最原始的jQuery注册验证方式可以分为以下步骤: 步骤一:导入jQuery库 在HTML页面的标签或者标签中,导入jQuery库的链接,例如: <head> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js">&lt…

    JavaScript 2023年6月10日
    00
  • JS访问DOM节点方法详解

    下面我就详细讲解一下“JS访问DOM节点方法详解”的完整攻略,主要分为以下几个部分: 1. DOM节点的基本概念 DOM(Node Document Object Model) 是一种将HTML文档描述为树形结构的API(应用程序编程接口),在JavaScript中可以通过DOM的API来访问和操作HTML文档。DOM树的根节点是document对象,我们可…

    JavaScript 2023年5月19日
    00
  • 简介JavaScript中charAt()方法的使用

    简介JavaScript中charAt()方法的使用 什么是charAt()方法? JavaScript中的charAt()是一个字符串方法,用于返回指定索引处的字符。索引从0开始,即第一个字符的索引为0,第二个字符的索引为1,以此类推。如果索引超过了字符串的长度,则返回空字符串。 如何使用charAt()方法? 使用charAt()方法的语法如下: str…

    JavaScript 2023年5月28日
    00
  • 如何调试异步加载页面里包含的js文件

    调试异步加载页面里包含的JS文件是网站开发中一项非常重要的任务。在这里,我将为你提供一些调试异步加载JS的攻略和技巧。 使用Chrome DevTools调试异步加载的JS文件 Chrome DevTools 是一个非常强大的调试工具,它提供了一些重要特性来调试异步加载的 JS 文件。以下是一些示例: 1.通过Sources面板调试异步加载的JS文件 在Ch…

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