•principio:
• El navegador avanzado admite el método foreach
Sintaxis: tanto foreach como de soporte de mapa 2 parámetros: uno es la función de devolución de llamada (elemento, índice, lista) y contexto;
• foreach: se usa para iterar a través de cada elemento en la matriz; Esta ejecución del método no tiene valor de retorno y no tiene ningún efecto en la matriz original;
• Hay varios elementos en la matriz, por lo que la función anónima de devolución de llamada que se pasa debe ejecutarse varias veces;
• Cada vez que se ejecuta una función anónima, también se pasan tres valores de parámetros: el elemento actual en la matriz, el índice del índice del elemento actual y la entrada de la matriz original;
• Teóricamente, este método no devuelve un valor, simplemente atraviesa cada elemento de la matriz y no modifica la matriz original; Pero podemos modificar la matriz original por nosotros mismos a través del índice de la matriz;
• Esto en el método foreach es ary, y esto en la función anónima de devolución de llamada es ventana de forma predeterminada;
var ary = [12,23,24,42,1]; var res = ary.forEach (function (item, index, input) {input [index] = item*10;}) console.log (res); //-> undefined; console.log (ary); //-> cambiará el array original;• Mapa: es muy similar a Foreach. Se usa para iterar a través de cada valor de elemento en una matriz e iterar a través de cada elemento en una matriz;
• Diferencia: el valor de retorno de retorno se admite en la función de devolución de llamada MAP; Lo que se devuelve es equivalente a cambiar este elemento en la matriz a por qué (no afecta la matriz original, es equivalente a clonar una copia de la matriz original y cambiar los elementos correspondientes en la matriz clonada);
• Cada o mapa admite el valor del segundo parámetro. El segundo parámetro significa modificar esto en la función anónima de devolución de llamada.
var ary = [12,23,24,42,1]; var res = ary.map (function (item, index, input) {return item*10;}) console.log (res); //-> [120,230,240,420,10]; console.log (ary); //-> [12,23,24,42,1]]• Método de escritura compatible:
• Ya sea que sea foreach o mapa en IE6-8 (no hay dos métodos en la matriz.
/*** Array de traversal de Foreach* @Param Callback [function] Función de devolución de llamada; * @param contexto [objeto] contexto; */Array.prototype.myforeach = function myforeach (devolución de llamada, contexto) {context = context || ventana; if ('foreach' en array.prototye) {this.forEach (devolución de llamada, contexto); devolver; } // En IE6-8, escriba la lógica para la ejecución de la función de devolución de llamada usted mismo para (var i = 0, len = this.length; i <len; i ++) {callback && callback.call (context, este [i], i, esto); }} /*** MAPA MAPIA ARRAYA* @Param Callback [function] Función de devolución de llamada; * @param contexto [objeto] contexto; */Array.prototype.mymap = function mymap (llamado, context) {context = context || ventana; if ('map' en array.prototye) {return this.map (devolución de llamada, contexto); } // Ie6-8 lógica para escribir la ejecución de la función de devolución de llamada por usted mismo var newary = []; for (var i = 0, len = this.length; i <len; i ++) {if (typeOf Callback === 'function') {var val = callback.call (context, este [i], i, this); Newary [Newary.length] = val; }} return Newary;}PD: Si hay algún error en el método de escritura anterior, corrígelo, ^^
La introducción anterior a los métodos de traversal foreach () y map () y los métodos de escritura compatibles en JavaScript son todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.