Hay muchas cosas nuevas agregadas en ES5, y comprenderlas será de gran ayuda para escribir JavaScript. Por ejemplo, en la matriz, es posible que no necesitemos ir a los bucles de una manera directa y llamativa.
Se ha agregado un nuevo método de escritura de matrices en ES5, como sigue:
foreach (JS v1.6)
Mapa (JS V1.6)
Filtro (JS V1.6)
algunos (JS v1.6)
Cada (JS V1.6)
índicef (js v1.6)
LastIndexof (JS V1.6)
Reducir (JS V1.8)
Reduceright (JS V1.8)
1. Propiedades del objeto de matriz de matriz comúnmente utilizada en JS:
Como se muestra en la figura, la pieza marcada con un círculo rojo es un nuevo atributo agregado a ES5.
2. Estado de soporte del navegador:
• es decir: 9+;
•Cromo;
• Firefox2+;
• Safari 3+;
• Opera 9.5+;
3. Método de posición
ECMAScript5 define 2 métodos de posición para matrices. indexOf (), lastindexof ();
Ambos métodos reciben dos parámetros: el elemento que se encuentra y el índice (opcional) que indica la ubicación del punto de partida de búsqueda.
Entre ellos, IndexOf () comienza a mirar hacia atrás desde el comienzo de la matriz (posición 0), mientras que lastindexof () comienza a mirar hacia adelante desde el final de la matriz.
Ambos métodos deben devolver la posición del elemento que se encuentra en la matriz, o devolver -1 si no se encuentra;
Ejemplo:
números var = [1,2,3,4,5,4,3,2,1]; alerta (números.indexof (4)); //4Alert(number.lastIndexof(4)); //5Alert(number.Indexof(4,4)); //5Alert(number.lastIndexof(4,4)); // 3
4. Método de iteración
ECMAScript5 define 5 métodos iterativos para matrices.
4.1.Every ()
Definición y uso: el método cada () se utiliza para detectar si todos los elementos de la matriz cumplen con las condiciones especificadas (proporcionadas por una función).
El método cada () utiliza la función especificada para detectar todos los elementos en la matriz:
• Si se detecta un elemento en la matriz que no se satisface, toda la expresión devuelve falsas y los elementos restantes no se detectarán nuevamente.
• Devuelva verdadero si todos los elementos satisfacen la condición.
Nota: Cada () no detectará matrices vacías.
Nota: Cada () no cambia la matriz original.
Descripción: Detectar si todos los elementos de las edades de la matriz son superiores a 18:
var ages = [32, 33, 16, 40]; función checkadult (edad) {return age> = 18;} function myFunction () {document.getElementById ("demo"). innerhtml = ages.every (checkadult);}El resultado es:
FALSO;
4.2. Alguno()
Definición y uso: el método Some () se usa para detectar si los elementos en una matriz cumplen con las condiciones especificadas (proporcionadas por la función).
Ejecute la función dada en cada elemento en la matriz, y si la función devuelve verdadero para cualquiera de los elementos, devuelve verdadero;
El código es el siguiente:
VAR NÚMEROS = [1,2,3,4,5,4,3,2,1]; var somEREsult = Numbers.Meome (Function (item, Índice, Array) {// Elemento se refiere al valor de la matriz; el índice se refiere al subíndice de la matriz; la matriz se refiere a la matriz misma; return (ítem> 2);}); alerta (someteresult);El resultado es:
verdadero;
4.3. filtrar()
Definición y uso: el método Filter () crea una nueva matriz, y los elementos en la nueva matriz se verifican para todos los elementos en la matriz especificada que cumplen con los criterios.
Ejecute una función dada en cada elemento en la matriz, devolviendo una matriz de elementos que devolverán verdaderos.
Descripción: Para devolver una matriz con valores superiores a 2, el código es el siguiente:
VAR NÚMEROS = [1,2,3,4,5,4,3,2,1]; var filtreResult = números.filter (función (item, índice, matriz) {// Elemento se refiere al valor de la matriz; el índice se refiere al subíndice de la matriz; la matriz se refiere a la matriz misma; retorno (ítem> 2);}); alerta (filtreResult);El resultado es:
[3,4,5,4,3]
4.4. mapa()
Definición y uso: el método MAP () devuelve una nueva matriz, y los elementos en la matriz son los valores procesados por el elemento de matriz original después de llamar a la función.
Ejecute la función dada en cada elemento en la matriz, devolviendo una matriz compuesta por los resultados de cada llamada de función.
Descripción: Multiplique cada término en la matriz por 2 y devuelva la matriz compuesta de estos productos. El código es el siguiente:
VAR NÚMEROS = [1,2,3,4,5,4,3,2,1]; var mapResult = Numbers.map (function (item, index, array) {// Elemento se refiere al valor de la matriz; el índice se refiere al subíndice de la matriz; la matriz se refiere a la matriz misma; return item*2;}); alerta (mapresult);El resultado es:
[2,4,6,8,10,8,6,4,2]
4.5. foreach ()
Definición y uso: ejecute la función dada en cada elemento en la matriz. Este método no tiene valor de retorno.
Esencialmente lo mismo que usar un bucle for para iterar a través de una matriz. El código es el siguiente:
VAR NÚMEROS = [1,2,3,4]; números
El resultado es:
1
2
3
4
5. Reducir el método
ECMAScript5 agrega dos nuevos métodos para reducir las matrices: reducir () y reduceRight ();
Estos dos métodos iterarán sobre todos los elementos en la matriz y luego construirán un valor final devuelto. Entre ellos, el método Red () comienza desde el primer elemento de la matriz y lo revisa uno por uno hasta el final.
Reduceright () comienza desde el último elemento de la matriz y atraviesa hacia el primer elemento. Ambos métodos reciben dos parámetros: una función llamada en cada elemento y (opcional) como el valor inicial para la base de estrechamiento.
La función pasada para reducir () y reducir () recibe 4 parámetros: el valor anterior, el valor actual, el índice del elemento y el objeto de matriz.
Descripción: Use el método Rede () para realizar la operación de encontrar la suma de todos los valores en una matriz. El código es el siguiente:
valores var = [1,2,3,4,5]; var sum = valores.reduce (function (anterior, cur, index, array) {return prev+cur;}); alerta (suma);El resultado es:
15
Lo anterior es el conocimiento relevante del método de matriz recientemente agregado en el estándar JavaScript ES5 introducido por el editor. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!