¿Cuál es la diferencia entre toArray y makeArray en jQuery?

En este artículo, aprenderemos la diferencia entre los métodos toArray() y makeArray() en jQuery.

El método toArray() : este método se utiliza en elementos DOM (Document Object Model) para convertirlos en una array de JavaScript. Podemos iterar esta array, calcular su longitud y acceder a los elementos usando sus índices como una array normal. Sin embargo, no podemos crear una array a partir de otros objetos similares a una array usando este método. Esta es la principal diferencia entre las dos funciones.

Sintaxis:

let dom_array = $("p").toArray();

Ejemplo: en este ejemplo, veremos cómo se puede usar toArray() para convertir elementos DOM en una array y cómo no funciona con otros tipos de datos.

HTML

<html>
<head>
  <script src=
"https://code.jquery.com/jquery-3.6.0.js">
  </script>
</head>
<body>
  <h1 style="color: green;">
    GeeksforGeeks
  </h1>
   
<p>Data Structures</p>
 
   
<p>Competitive Programming</p>
 
   
<p>Algorithms</p>
 
 
  <button>Click Here</button>
  <h3>Output</h3>
   
  <div id="output"></div>
  <script>
    let obj = {
      name: "Sam",
      age: 12
    }
 
    $("button").click(function () {
 
      // Creating an array of paragraphs
      let para_array = $("p").toArray();
 
      // Iterating over para_array
      // and appending the data in the div
      for (i = 0; i < para_array.length; i++) {
        $("#output").append("Element: " +
          para_array[i].innerHTML + "<br>");
      }
 
      // We cannot use toArray() on the object
      // as toArray() works only for DOM elements
      // let obj_array = jQuery.toArray(obj);
      // console.log(obj_array);
    });
  </script>
</body>
</html>

Producción:

El método makeArray() : este método se utiliza en objetos similares a arrays para convertirlos en una array. Entonces podemos usar funciones de array normales en esa array. Este método admite la conversión de elementos DOM, ya que son objetos similares a arrays.

Sintaxis:

// Array using DOM elements
let array = jQuery.makeArray($("p"));

// Array using other array-like objects
let array2 = jQuery.makeArray(array1, array2, array3);

Ejemplo: en este ejemplo, veremos cómo se puede usar makeArray() para convertir todo tipo de elementos similares a arrays, incluidos los elementos DOM.

HTML

<html>
<head>
  <script src=
"https://code.jquery.com/jquery-3.6.0.js">
  </script>
</head>
<body>
  <h1 style="color: green;">
    GeeksforGeeks
  </h1>
   
 
<p>Data Structures</p>
 
 
   
 
<p>Competitive Programming</p>
 
 
   
 
<p>Algorithms</p>
 
 
  <button>Click Here</button>
  <h3>Output</h3>
   
  <div id="output"></div>
  <h3>Output 2</h3>
  <div id="output2"></div>
  <script>
    let obj = {
      name: "Sam",
      age: 12
    }
 
    $("button").click(function () {
 
      // Creating an array of paragraphs
      let para_array = jQuery.makeArray($("p"));
 
      // Iterating over para_array
      // and appending the data in the first div
      for (let i = 0; i < para_array.length; i++) {
        $("#output").append("Element: " +
          para_array[i].innerHTML + "<br>");
      }
 
      // Creating an array of the object
      let obj_array = jQuery.makeArray(obj);
 
      // Iterating over obj_array
      // and appending the data in the second div
      for (let i = 0; i < obj_array.length; i++) {
        $("#output2").append("Name: " +
          obj_array[i].name + " Age: " +
          obj_array[i].age + "<br>");
      }
    });
  </script>
</body>
</html>

Producción:

Diferencia entre toArray() y makeArray():

Método toArray() método makeArray()
Este método admite la conversión de elementos DOM a una array. Este método admite la conversión de todos los elementos similares a una array en una array.
Solo los elementos DOM son compatibles para ser convertidos. Otros elementos similares a una array generarán un error. Todos los tipos de elementos se pueden convertir en una array, incluidos los elementos DOM.

Su sintaxis es -:

$(selector).toArray()  

Su sintaxis es -:

jQuery.makeArray( obj )  

No toma ningún parámetro. Solo toma un parámetro que es objeto.
Su valor de retorno son los elementos que coinciden con el selector de jQuery como una array. Su valor de retorno es una array.

Publicación traducida automáticamente

Artículo escrito por rajatagrawal5 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *