Maison >interface Web >js tutoriel >Quelle est l'utilité de la méthode map() des tableaux dans ecmascript 5 ?

Quelle est l'utilité de la méthode map() des tableaux dans ecmascript 5 ?

青灯夜游
青灯夜游original
2021-12-07 14:15:291626parcourir

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)" .

Quelle est l'utilité de la méthode map() des tableaux dans ecmascript 5 ?

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 :

  • currentValue est requis. La valeur de l'élément actuel

  • index est facultative. La valeur d'index de l'élément actuel

  • arr Facultatif. L'objet tableau auquel appartient l'élément actuel

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.

L'impact de la fonction de rappel modifiant 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);

Quelle est lutilité de la méthode map() des tableaux dans ecmascript 5 ?

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

Quelle est lutilité de la méthode map() des tableaux dans ecmascript 5 ?

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

Quelle est lutilité de la méthode map() des tableaux dans ecmascript 5 ?

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

Quelle est lutilité de la méthode map() des tableaux dans ecmascript 5 ?

【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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn