Maison >interface Web >js tutoriel >Quelle est l'utilité de la méthode map() des tableaux dans ecmascript 5 ?
Dans Ecmascript, la méthode map() peut appeler la fonction de rappel spécifiée pour chaque élément du tableau et renvoyer un tableau contenant les résultats ; syntaxe "array.map(function(currentValue,index,arr), thisValue)" .
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3. La méthode
map() peut appeler la fonction de rappel spécifiée pour chaque élément du tableau et renvoyer un tableau contenant les résultats. La méthode
map() traite les éléments séquentiellement dans l'ordre des éléments du tableau d'origine.
Syntaxe
array.map(function(currentValue,index,arr), thisValue)
Paramètres | Description |
---|---|
fonction (currentValue, index,arr) |
Obligatoire. Fonction, chaque élément du tableau exécutera cette fonction. Paramètres de la fonction :
|
thisValue | Facultatif. L'objet est utilisé comme rappel d'exécution, transmis à la fonction et utilisé comme valeur de "this". Si thisValue est omis, ou si null ou undefined est transmis, alors this de la fonction de rappel est l'objet global. La méthode |
map() renverra un nouveau tableau, où chaque élément est la valeur de retour de la fonction de rappel de l'élément du tableau d'origine associé. Pour chaque élément du tableau, la méthode map() appelle la fonction callbackfn une fois (dans l'ordre d'index croissant) et n'appelle pas la fonction de rappel pour les éléments manquants dans le tableau.
En plus des objets tableau, la méthode map() peut être utilisée par n'importe quel objet avec une propriété de longueur qui a un nom de propriété indexé, comme un objet de paramètre Arguments. La méthode
map() ne modifie pas directement le tableau d'origine, mais la fonction de rappel peut le modifier. Les résultats obtenus en modifiant l'objet tableau après le démarrage de la méthode map sont présentés dans le tableau.
Conditions après le démarrage de la méthode map | Si l'élément est passé à la fonction de rappel |
---|---|
Ajouter des éléments au-delà de la longueur d'origine du tableau | Non |
Ajouter des éléments pour remplir l'élément manquant dans le tableau | Oui, si l'index n'a pas été passé à la fonction de rappel |
L'élément a changé | Oui, si l'élément n'a pas été passé à la fonction de rappel fonction de rappel |
Supprimer l'élément du tableau | Non, sauf si l'élément a été transmis à la fonction de rappel |
Exemple 1
L'exemple suivant utilise la méthode map() pour mapper le tableau , mettez au carré la valeur de chaque élément du tableau, multipliez-la par la valeur PI et calculez l'aire du cercle renvoyé. La valeur est utilisée comme valeur d'élément du nouveau tableau, et enfin le nouveau tableau est renvoyé.
function f (radius) { var area = Math.PI * (radius * radius); return area.toFixed(0); } var a = [10,20,30]; var a1 = a.map(f); console.log(a1);
Exemple 2
L'exemple suivant utilise la méthode map() pour mapper un tableau, divise la valeur de chaque élément du tableau par un seuil, puis renvoie ce nouveau tableau La fonction de rappel et. sont tous deux basés sur les propriétés de l'objet Exists, cette méthode montre comment utiliser le paramètre thisArg dans la carte.
var obj = { val : 10, f : function (value) { return value % this.val; } } var a = [6,12,25,30]; var a1 = a.map(obj.f, obj); console.log(a1); //6,2,5,0
Exemple 3
L'exemple suivant montre comment utiliser les méthodes intégrées de JavaScript comme fonctions de rappel.
var a = [9, 16]; var a1 = a.map(Math.sqrt); console.log(a1); //3,4
Exemple 4
L'exemple suivant montre comment utiliser la méthode map pour l'appliquer à un tableau de classe. Dans l'exemple, map est appliqué à une chaîne via la méthode d'appel dynamique (Call). Ensuite, map traversera chaque caractère de la chaîne et appellera la fonction de rappel threeChars pour intercepter les trois caractères à gauche et à droite de chaque caractère et le mapper. dans un nouveau tableau.
function f (value, index, str) { return str.substring(index - 1, index + 2); } var s = "Thursday"; var a = [].map.call(s, f); console.log(a); //Th,Thu,hur,urs,rsd,sda,day,ay
【Recommandations associées : Tutoriel d'apprentissage Javascript】
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!