JavaScript 如何将DOM节点列表转换为数组

JavaScript 如何将DOM节点列表转换为数组

为了编写高级JavaScript代码,您可能会遇到需要将DOM(文档对象模型)节点列表转换为更适应的数据结构,如数组。尽管节点列表在任何编程语言中都类似于数组,但它不具备比数组更多的特性。

您可以使用JavaScript将节点列表转换为数组以更适当地工作。

示例1

本示例提供了使用JavaScript将节点列表转换为数组的代码。该代码使用nodeListToArray函数执行转换。

步骤

步骤1: 在JavaScript中创建一个数组。该数组必须为空,以便在下一步中将数据推入其中。

步骤2: 现在,使用 push() 方法将节点列表中包含的值添加到数组中。

步骤3: 在将所有元素添加到数组后,执行return来处理数组的返回。

步骤4: 使用 querySelectorAll() 方法测试所有元素是否在数组中转换。

步骤5: 在控制台中检查数组,以测试元素是否在正确的位置,并且是否被复制到数组中。

示例

<!DOCTYPE html>
<html>
<head>
  <title>NodeList to Array</title>
</head>
<body>
 <h1> Heading 1</h1>
 <h1>Heading 2</h1>
  <script>

  document.addEventListener('DOMContentLoaded', function() {
  var nodeList = document.querySelectorAll('h1');
  var array = Array.from(nodeList);

  console.log(array);
});
</script>
</body>
</html>

示例2

前面的示例是将nodelist转换成数组的最基本方法。在这个示例中,我们将使用两个nodelist将数据转换成两个数组。第二个节点的转换方法是相同的,只是你必须构建两个nodelists和两个数组。此外,你必须执行两次log函数。

步骤

步骤1: 在JavaScript中创建两个数组,并将数组设置为空,这样我们可以将数据从nodelist中复制出来。

步骤2: 现在将nodelist 1的值添加到数组 1中,将nodelist 2的值添加到数组 2中。

步骤3: 将所有元素添加到数组中后,返回它们。

步骤4: 现在两次运行 queryselectorall() 方法,测试两个nodelist的元素是否被转换。

步骤5: 运行代码以检查控制台中的数组。现在你将在控制台上看到两个数组,显示每个数组的元素数量和元素。

示例

<!DOCTYPE html>
<html>
<head>
  <title>Convert DOM NodeList to Array</title>
</head>
<body>

<p>abc</p>
<p>abc</p>
<p>abc</p>
<p>abc</p>
<p>abc</p>
<p>abc</p>
<p>abc</p>
<p>abc</p>

 <h1> Heading 1</h1>
 <h1>Heading 2</h1>

  <script>

  document.addEventListener('DOMContentLoaded', function() {
  var nodeList1 = document.querySelectorAll('h1');
  var array1 = Array.from(nodeList1);
var nodeList2 = document.querySelectorAll('p');
  var array2 = Array.from(nodeList2);
  console.log(array1);
  console.log(array2);
});
</script>
</body>
</html>

结论

当使用DOM时,将DOM NodeList转换为JavaScript中的数组是一种典型的过程。我们可以通过使用一种简单的算法和代码来进行这种转换。在本文中,我们将两个nodelist转换为两个数组。每个nodelist都转换了不同类型的项目。同样,您可以使用任意数量的nodelist和任何类型的数据。

结果数组提供了更广泛的数组属性集,使得数据处理和操作更加容易。虽然您也可以使用一些额外的方法来进行相同的转换,例如Array.from()或spread operator。但是,这里讨论的方法是最简单的。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程