ECMAScript5 define 5 métodos iterativos para matrices. Cada método recibe dos parámetros: la función para ejecutarse en cada elemento y el objeto de alcance (opcional) que ejecuta la función (es decir, el valor que afecta esto). Las funciones pasadas a estos métodos reciben tres parámetros: el valor del elemento de la matriz, la posición del elemento en la matriz y el objeto de matriz en sí. Dependiendo del método de uso, el valor de retorno después de la ejecución de esta función puede o no afectar el valor de retorno del método. Estos 5 métodos iterativos son:
Los cinco métodos iterativos aceptan dos parámetros: la función para ejecutarse en cada elemento y el alcance de la función que se ejecuta (opcional)
Cada (): ejecute la función dada en cada elemento en la matriz. Si la función devuelve verdadero para cada elemento, devuelve verdadero.
Filtro (): ejecuta la función dada en cada elemento en la matriz. Devolver una variedad de elementos que devolverán verdaderos.
foreach (): ejecuta la función dada para cada elemento en la matriz. La función no devuelve un valor.
MAP (): Ejecute la función dada en cada elemento en la matriz. Devuelve la función compuesta por el resultado de cada llamada de función.
Some (): Ejecute la función dada en cada elemento en la matriz. Si la función devuelve verdadero para cualquiera, devuelve verdadero
Todos los métodos anteriores no modificarán los valores contenidos en la matriz.
En el método anterior, cada () y algunos () son muy similares, ambos utilizados para consultar si un elemento en la matriz satisface una determinada condición. Para cada método (), la función pasada debe devolver verdadero para cada elemento antes de que este método devuelva verdadero. De lo contrario, devuelve falso. El método Some () devuelve verdadero siempre que la función pasada devuelva verdadero a un elemento en la matriz. Por ejemplo:
var nums = [1,2,3,4,5,4,3,2,1]; var resultado = nums.every (function (item, index, array) {return (item> 2);}) console.info (resultado);El código anterior imprimirá falso en la consola.
var nums = [1,2,3,4,5,4,3,2,1]; var resultado = nums.Some (function (item, index, array) {return (item> 2);}) console.info (resultado);El código anterior imprime verdadero en la consola.
El siguiente es un ejemplo de la función Filter (), que utiliza la función especificada para determinar si hay un elemento en la matriz devuelta. Por ejemplo, para devolver una matriz con todos los valores superiores a 2, puede usar el siguiente código:
var nums = [1,2,3,4,5,4,3,2,1]; var resultado = nums.filter (function (item, index, array) {return (item> 2);}) console.info (resultado); // [3,4,5,4,3]El código anterior devuelve una matriz que contiene 3, 4, 5, 4, 3 llamando al método filtre (). Este método es muy útil para consultar todas las matrices que cumplen ciertos criterios.
El método MAP () también devuelve una matriz, y cada elemento en esta matriz es el resultado de ejecutar la función entrante en el elemento correspondiente en la matriz original. Por ejemplo, puede multiplicar cada elemento en la matriz por 2 y luego devolver una matriz de estos productos:
var nums = [1,2,3,4,5,4,3,2,1]; var resultado = nums.map (function (item, index, array) {return item * 2;}) console.info (resultado); // [2,4,6,8,10,8,6,4,2]El método map () es adecuado para crear una matriz que contiene elementos uno por uno en otra matriz.
El último es el método foreach (), que solo ejecuta la función pasada en cada elemento de la matriz. Este método no tiene valor de retorno, esencialmente iterando sobre una matriz usando un bucle for. Vea el siguiente ejemplo:
var nums = [1,2,3,4,5,4,3,2,1]; nums.forEach (función (item, índice, matriz) {// Ejecutar la operación requerida})Estos métodos de matriz en JS pueden facilitar en gran medida el procesamiento de tareas de matriz realizando diferentes operaciones.
Los navegadores que admiten estos métodos iterativos son: IE9+, Firefox2+, Safari3+, Opera9.5+y Chrome.
números var = [1, 2, 3, 4, 5, 4, 3, 2, 1]; // cada () y algunos () son más similares // cada () elemento: el elemento transversal actual, índice: el índice de elemento actual, matriz: el objeto de matriz en sí mismo var todas las personast = números. alerta (EveryResult); // false // some () var somERESULT = Numbers.Some (function (item, index, array) {return item> 2;}); alerta (somERSult); // true // filtro var filtroResult = números.filter (función (elemento, index, array) {return item> 2;}); alerta (filtreResult); // [3,4,5,4,3] // map () var mapResult = Numbers.map (function (item, index, array) {return (item * 2);}); alerta (mapResult); // [2,4,6,8,10,8,6,4,2] // foreach es esencialmente ninguna diferencia de loop var foreachResult = numbe.ForEach (function (item, index, array) {alerta (item)});Lo anterior se trata de este artículo. Espero darle algunos consejos para comprender mejor el método de iteración de JavaScript.