English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Análisis de ejemplo de uso de pseudo-arrays en JavaScript

Este artículo describe el uso de arrays falsos en JavaScript. Compartimoslo con todos para referencia, como se muestra a continuación:

¿Qué es un array falso en JavaScript?

Los arrays falsos (de tipo array): no se puede llamar directamente a métodos de array o esperar un comportamiento especial del atributo length, pero se puede recorrer usando métodos de recorrido de arrays verdaderos.

1.Un caso典型 es el parámetro argumento de una función,
2.Al igual que llamar a getElementsByTagName, document.childNodes, etc., todas devuelven objetos NodeList que son arrays falsos.

Entonces, ¿cómo convertir un array falso en un array estándar?

Se puede usar Array.prototype.slice.call(fakeArray) para convertir el array en un objeto Array verdadero.

Vamos a dar un ejemplo, utilizando el array falso para resolver el problema de la suma de parámetros variables.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>伪数组</title>
</head>
<script>
  function add(){
    var sum=0;
    console.log(arguments);
    for(var i=0;i<arguments.length;i++{
      sum +=arguments[i];
    }
    return sum;
  }
 console.log(add(1,2,5,8));
</script>
<body>
</body>
</html>

Resultados de ejecución:

Convertir el array falso en un array estándar

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>伪数组</title>
</head>
<script>
  function add(){
    var sum=0;
    console.log(arguments instanceof Array);//Se puede determinar si en este momento es realmente un array, el valor de retorno es false;
    console.log(arguments);//En este momento se está imprimiendo el parámetro传入的参数1,2,5,8
    var arguments=Array.prototype.slice.call(arguments);//Convertir el array falso en un array estándar
    arguments.push(10);//En este momento se puede llamar a los métodos estándar del array
    console.log(arguments instanceof Array);//Se puede determinar si en este momento es realmente un array, el valor de retorno es true;
    console.log(arguments);//En este momento, se está imprimiendo el parámetro传入的参数,push之后的数组1,2,5,8,10
    for(var i=0;i<arguments.length;i++{
      sum +=arguments[i];
    }
    return sum;
  }
 console.log(add(1,2,5,8));
</script>
<body>
</body>
</html>

Resultados de ejecución:

Los lectores interesados en más contenido relacionado con JavaScript pueden ver la sección especial de este sitio: 'Resumen de Estructuras de Datos y Técnicas de Algoritmos de JavaScript', 'Resumen de Usos de Operaciones Matemáticas de JavaScript', 'Resumen de Algoritmos de Ordenamiento de JavaScript', 'Resumen de Técnicas y Habilidades de Búsqueda de JavaScript', 'Resumen de Técnicas y Habilidades de Recorrido de JavaScript' y 'Resumen de Técnicas y Habilidades de Error y Depuración de JavaScript'.

Espero que lo descrito en este artículo sea útil para todos en la programación de JavaScript.

Declaración: El contenido de este artículo se ha obtenido de la red, es propiedad del autor original, el contenido se ha contribuido y subido por los usuarios de Internet, este sitio no posee los derechos de propiedad, no ha sido editado por humanos y no asume ninguna responsabilidad legal. Si encuentra contenido sospechoso de infracción de derechos de autor, por favor envíe un correo electrónico a: notice#oldtoolbag.com (al enviar un correo electrónico, reemplace # con @ para denunciar, y proporcione evidencia relevante. Una vez confirmado, este sitio eliminará inmediatamente el contenido sospechoso de infracción de derechos de autor.)

Te gustará