js中将HTMLCollection/NodeList/伪数组转换成数组的代码

yizhihongxing

将 HTMLCollection、NodeList、伪数组转换成真正的数组是 JavaScript 中常见的操作,常常用于操作 DOM 元素或者获取一系列的元素,比如在获取 class 为 list 的所有元素后需要对它们进行操作。

使用 Array.prototype.slice.call() 方法

可以通过 Array.prototype.slice.call() 这个方法将 HTMLCollection、NodeList、伪数组转换成真正的数组,这个方法会返回一个新的数组,并且将传递给它的参数作为数组的元素。

下面是具体的代码示例:

const liList = document.getElementsByTagName('li');
const liArray = Array.prototype.slice.call(liList);

console.log(liList); // HTMLCollection
console.log(liArray); // Array

在这个示例中,我们首先通过 document.getElementsByTagName('li') 获取到一个 HTMLCollection,然后对这个 HTMLCollection 调用 Array.prototype.slice.call() 方法,生成了一个真正的数组 liArray。最后我们通过 console.log() 输出了 liList 和 liArray 的值,可以发现 liList 是 HTMLCollection,而 liArray 则是一个真正的数组。

使用 Array.from() 方法

ES6 中新增了 Array.from() 方法,可以将类数组对象或者可迭代对象转换成数组。这个方法与 Array.prototype.slice.call() 不同之处在于,它可以直接将一个类数组对象转换成一个数组,并且还可以更容易地进行一些变换操作。

下面是具体的代码示例:

const list = document.querySelectorAll('.list');
const arr = Array.from(list, item => item.innerText);

console.log(list); // NodeList
console.log(arr); // Array

在这个示例中,我们首先通过 document.querySelectorAll('.list') 获取到一个 NodeList,然后对这个 NodeList 调用 Array.from() 方法,生成了一个真正的数组 arr。在 Array.from() 中我们传递了一个回调函数,对 NodeList 中的每一个元素进行了操作。

通过这两种方法,我们就可以将 HTMLCollection、NodeList、伪数组转换成真正的数组,并对这个数组进行各种操作。在实际开发中,我们可以根据具体的需求来选择使用哪一种转换方式。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js中将HTMLCollection/NodeList/伪数组转换成数组的代码 - Python技术站

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

相关文章

  • JS的函数调用栈stack size的计算方法

    当JS代码执行过程中,函数的调用将会依次进入函数调用栈,函数执行结束后,结果将会被推出函数调用栈。函数调用栈有容量的限制,如果超出会导致“堆栈溢出”,因此需要了解JS函数调用栈stack size的计算方法。 JS函数调用栈的stack size计算方法如下: 找到当前正在调用的函数有多少个参数(包括默认参数和剩余参数) 每个参数占用一个内存空间,计算所有参…

    JavaScript 2023年6月11日
    00
  • Three.js 进阶之旅:页面平滑滚动-王国之泪 ?

    声明:本文涉及图文和模型素材仅用于个人学习、研究和欣赏,请勿二次修改、非法传播、转载、出版、商用、及进行其他获利行为。 摘要 浏览网页时,常被一些基于鼠标滚轮控制的页面动画所惊艳到,比如greensock 官网这些 showcase 案例页面就非常优秀,它们大多数都是使用 Tween.js、gasp 及 greensock 提供的一些动画扩展库实现的。使用 …

    JavaScript 2023年5月6日
    00
  • JavaScript 表单处理实现代码

    关于“JavaScript 表单处理实现代码”的详细讲解,本文将分为以下三个部分来介绍。 一、表单处理实现代码的基本知识 在前端开发中,表单的作用是向后端服务器传输数据,因此表单处理是前端开发的核心技术之一。而 JavaScript 是前端开发的主要编程语言之一,它可以很好地与表单交互,实现表单的各种操作。下面是一些常用的表单处理实现代码。 1. 获取表单元…

    JavaScript 2023年6月10日
    00
  • JS判断页面加载状态以及添加遮罩和缓冲动画的代码

    JS判断页面加载状态以及添加遮罩和缓冲动画的代码是前端开发中常见的需求。以下为完整攻略。 判断页面加载状态 判断页面的加载状态可以使用window对象的load和DOMContentLoaded事件。需要注意的是,load事件会在页面的所有资源(包括图片、音频、视频等)都加载完成后才触发,而DOMContentLoaded事件则是在页面DOM结构加载完成后就…

    JavaScript 2023年6月10日
    00
  • 不使用script导入js文件的几种方法

    当我们需要在网页中引入JS文件时,一般会使用<script>标签来实现,但有时我们也需要不使用<script>标签来实现,以下是几种不使用<script>标签导入JS文件的方法: 1. 使用Link标签: 我们可以使用<link>标签的href属性来链接JS文件,这种方式一般用于引入CSS文件,但是也可以用于J…

    JavaScript 2023年5月27日
    00
  • Element的el-tree控件后台数据结构的生成以及方法的抽取

    生成后台数据结构: 首先,我们需要明确el-tree控件所需要的数据格式,它要求数据使用树形结构进行展示,每一项数据包含以下属性: label:节点描述 children:子节点数据,是一个数组,也可以为空 接着,我们需要对后台的原始数据进行格式化处理,使其可以被el-tree控件所展示。常见的处理方式是使用递归的方式将原始数据转换为树形结构,具体过程如下:…

    JavaScript 2023年6月10日
    00
  • js入门之Function函数的使用方法【新手必看】

    JS入门之Function函数的使用方法 什么是Function函数 在JavaScript中,函数是一种可重复使用的代码块,用于执行特定的任务。Function函数是最常用的一种函数类型,是一种可执行的JavaScript代码块,可以接受输入并返回输出。它通常被用于将代码结构化,使之易于阅读和维护。 Function函数的语法 function funct…

    JavaScript 2023年5月27日
    00
  • 学习js所必须要知道的一些

    学习JavaScript所必须要知道的一些攻略 简介 学习JavaScript(以下简称JS)时,需要一些基础知识,其中包括语法、DOM操作、Ajax、闭包等等。下面将详细介绍学习JS的一些必备知识。 1. 语法 1.1 数据类型 JS包含7种不同的数据类型,分为原始类型和对象类型。原始类型包括: 数字(Number):整数或浮点数 字符串(String):…

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