JavaScript - Méthode Array map ()
La description
Tableau Javascript map() crée un nouveau tableau avec les résultats de l'appel d'une fonction fournie sur chaque élément de ce tableau.
Syntaxe
Sa syntaxe est la suivante -
array.map(callback[, thisObject]);
Détails des paramètres
callback - Fonction qui produit un élément du nouveau Array à partir d'un élément de l'actuel.
thisObject - Objet à utiliser comme this lors de l'exécution du rappel.
Valeur de retour
Renvoie le tableau créé.
Compatibilité
Cette méthode est une extension JavaScript de la norme ECMA-262; en tant que tel, il peut ne pas être présent dans d'autres implémentations de la norme. Pour que cela fonctionne, vous devez ajouter le code suivant en haut de votre script.
if (!Array.prototype.map) {
Array.prototype.map = function(fun /*, thisp*/) {
var len = this.length;
if (typeof fun != "function")
throw new TypeError();
var res = new Array(len);
var thisp = arguments[1];
for (var i = 0; i < len; i++) {
if (i in this)
res[i] = fun.call(thisp, this[i], i, this);
}
return res;
};
}
Exemple
Essayez l'exemple suivant.
<html>
<head>
<title>JavaScript Array map Method</title>
</head>
<body>
<script type = "text/javascript">
if (!Array.prototype.map) {
Array.prototype.map = function(fun /*, thisp*/) {
var len = this.length;
if (typeof fun != "function")
throw new TypeError();
var res = new Array(len);
var thisp = arguments[1];
for (var i = 0; i < len; i++) {
if (i in this)
res[i] = fun.call(thisp, this[i], i, this);
}
return res;
};
}
var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);
document.write("roots is : " + roots );
</script>
</body>
</html>
Production
roots is : 1,2,3