forEach est la plus basique des nouvelles méthodes Array d'ECMA5, qui est le parcours et le bouclage. Par exemple, l'exemple suivant :
[1, 2,3, 4].forEach(alerte);
Équivalent à la boucle for suivante
var array = [1, 2, 3, 4]; for (var k = 0, length = array.length; k < length; k++) { alert(array[k]); }
Array Dans la nouvelle méthode d'ES5, les paramètres sont tous des types de fonctions et les paramètres sont passés par défaut. Le rappel de fonction dans la méthode forEach prend en charge 3 paramètres. Le premier est le contenu du tableau parcouru ; tableau correspondant. Index, le 3ème est le tableau lui-même.
Nous avons donc :
[].forEach(function(value, index, array) { // ... });
Comparez la méthode $.each dans jQuery :
$.each([], function(index, value, array) { // ... });
Vous constaterez que les premier et deuxième paramètres sont exactement opposés. Veuillez faire attention et ne vous en souvenez pas mal. La même chose est vraie pour des méthodes similaires ultérieures, telles que $.map.
var data=[1,3,4] ; var sum=0 ; data.forEach(function(val,index,arr){ console.log(arr[index]==val); // ==> true sum+=val }) console.log(sum); // ==> 8
carte
La carte ici ne signifie pas « carte », mais « cartographie ». [].map(); L'utilisation de base est similaire à la méthode forEach :
array.map(callback,[ thisObject]);
Les paramètres de rappel sont également similaires :
[].map(function(value, index, array) { // ... });
La fonction de la méthode map n'est pas difficile à comprendre. Il s'agit du « mappage », c'est-à-dire que le tableau d'origine est « mappé » dans le nouveau tableau correspondant. L'exemple suivant consiste à trouver le carré d'un terme numérique :
var data=[1,3,4] var Squares=data.map(function(val,index,arr){ console.log(arr[index]==val); // ==> true return val*val }) console.log(Squares); // ==> [1, 9, 16]
Remarque : étant donné que forEach et map sont des méthodes ECMA5 pour ajouter de nouveaux tableaux, les navigateurs inférieurs à IE9 ne les prennent pas encore en charge (cher IE). Cependant, toutes les fonctions ci-dessus peuvent être obtenues en étendant le prototype Array, comme la méthode forEach :
if (typeof Array.prototype.forEach != "function") { Array.prototype.forEach = function() { /* 实现 */ }; }
Les recommandations ci-dessus pour les méthodes forEach, $.each et map dans JS sont tout le contenu partagé par l'éditeur. J'espère qu'elles pourront vous donner une référence et j'espère que vous soutiendrez Script Home.