Limiter les arguments des fonctions en JavaScript

JavaScriptJavaScriptBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons explorer le concept d'« arité de fonction » en JavaScript. Le but de ce laboratoire est de créer une fonction de haut niveau qui accepte une fonction et un nombre n en arguments et renvoie une nouvelle fonction qui ne prend en compte que jusqu'à n arguments, en ignorant les autres. Cela nous aidera à comprendre comment limiter le nombre d'arguments passés à une fonction en JavaScript.

Ceci est un Guided Lab, qui fournit des instructions étape par étape pour vous aider à apprendre et à pratiquer. Suivez attentivement les instructions pour compléter chaque étape et acquérir une expérience pratique. Les données historiques montrent que c'est un laboratoire de niveau débutant avec un taux de réussite de 87%. Il a reçu un taux d'avis positifs de 100% de la part des apprenants.

Comment créer une fonction avec un nombre spécifique d'arguments

Pour créer une fonction qui accepte un nombre spécifique d'arguments et ignore tout argument supplémentaire, suivez ces étapes :

  1. Ouvrez le Terminal/SSH et tapez node pour commencer à pratiquer la programmation.

  2. Utilisez le code suivant pour créer votre fonction :

const ary =
  (fn, n) =>
  (...args) =>
    fn(...args.slice(0, n));
  1. Appelez la fonction que vous venez de créer, ary, avec deux arguments : la fonction pour laquelle vous voulez limiter les arguments (fn) et le nombre d'arguments auquel vous voulez la limiter (n).

  2. Maintenant, vous pouvez utiliser la nouvelle fonction pour limiter le nombre d'arguments de n'importe quelle fonction que vous voulez. Pour ce faire, appelez votre nouvelle fonction avec l'opérateur de répétition (...) et les arguments que vous voulez limiter.

Voici un exemple de manière à utiliser votre nouvelle fonction :

const firstTwoMax = ary(Math.max, 2);
[[2, 6, "a"], [6, 4, 8], [10]].map((x) => firstTwoMax(...x)); // [6, 6, 10]

Dans cet exemple, firstTwoMax est une nouvelle fonction qui limite la fonction Math.max à n'accepter que les deux premiers arguments. La méthode map est utilisée pour appliquer la nouvelle fonction à chaque tableau de l'array externe, renvoyant le maximum des deux premiers éléments de chaque tableau interne.

Sommaire

Félicitations ! Vous avez terminé le laboratoire sur l'arité des fonctions. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.