L'auteur de l'article, dont nous publions aujourd'hui une traduction, explique que l'un des numéros du podcast
Syntax FM , qui donnait un aperçu des méthodes utiles des objets et des tableaux en JavaScript, lui a donné l'idée. Ces méthodes aident les développeurs à écrire du code propre et lisible. Leur utilisation réduit le besoin de bibliothÚques tierces comme
Lodash .

Array.prototype.filter ()
La méthode
Array.prototype.filter () crée un nouveau tableau dans lequel ne tombent que les éléments du tableau d'origine qui correspondent à la condition spécifiée.
â Exemple
Sur la base d'un tableau contenant des informations sur les étudiants, nous allons créer un nouveau tableau dans lequel les enregistrements ne seront inclus que sur les étudiants dont l'ùge leur permet d'acheter de l'alcool.
const studentsAge = [17, 16, 18, 19, 21, 17]; const ableToDrink = studentsAge.filter( age => age > 18 );
Array.prototype.map ()
La méthode
Array.prototype.map () vous permet de créer un nouveau tableau basé sur les valeurs traitées d'une maniÚre ou d'une autre d'un autre tableau. Cette méthode est idéale pour modifier des données; du fait qu'elle n'apporte pas de modifications au tableau d'origine, elle est souvent utilisée dans React.
â Exemple
En fonction du tableau numérique, créez un nouveau tableau, au début de chaque élément dont le signe
$
sera placé.
const numbers = [2, 3, 4, 5]; const dollars = numbers.map( number => '$' + number); // dollars: ['$2', '$3', '$4', '$5']
Array.prototype.reduce ()
La méthode
Array.prototype.reduce () est souvent nĂ©gligĂ©e Ă
tort . Il vous permet de rĂ©duire le tableau Ă une seule valeur qui s'accumule dans l'Ă©lĂ©ment rĂ©cepteur. La valeur renvoyĂ©e par cette mĂ©thode peut ĂȘtre de n'importe quel type. Par exemple, il peut s'agir d'un objet, d'un tableau, d'une chaĂźne ou d'un nombre.
â Exemple
Nous utiliserons la méthode
.reduce()
afin d'obtenir la somme des éléments d'un tableau numérique.
const numbers = [5, 10, 15]; const total = numbers.reduce( (accumulator, currentValue) => accumulator + currentValue);
En fait, cette mĂ©thode peut ĂȘtre utilisĂ©e de nombreuses façons intĂ©ressantes. Des exemples pertinents peuvent ĂȘtre trouvĂ©s dans la
documentation MDN . En particulier, nous parlons de développer des tableaux de tableaux, de regrouper des objets par propriétés et de supprimer les éléments en double des tableaux.
Array.prototype.forEach ()
La méthode
Array.prototype.forEach () applique la fonction qui lui est transmise à chaque élément du tableau.
â Exemple
Voici comment sortir chaque élément du tableau vers la console à l'aide de la méthode
.forEach()
.
const emotions = ['happy', 'sad', 'angry']; emotions.forEach( emotion => console.log(emotion) ); // : // 'happy' // 'sad' // 'angry'
Array.prototype.some ()
La méthode
Array.prototype.some () vĂ©rifie si au moins un Ă©lĂ©ment du tableau correspond Ă la condition spĂ©cifiĂ©e par la fonction qui lui est transmise. Cette mĂ©thode, par exemple, est capable de bien se montrer dans la rĂ©solution de la tĂąche de vĂ©rification des privilĂšges des utilisateurs. Il peut ĂȘtre considĂ©rĂ© comme un analogue du
.forEach()
précédemment considéré, à la différence que, lorsqu'il est utilisé à l'aide de la fonction qui lui est transmise, il est possible d'effectuer certaines actions sur les éléments du tableau jusqu'à ce que cette fonction renvoie la vraie valeur, puis interrompez le traitement.
â Exemple
Vérifiez si le tableau contient au moins une chaßne d'
admin
.
const userPrivileges = ['user', 'user', 'user', 'admin']; const containsAdmin = userPrivileges.some( element => element === 'admin');
Array.prototype.every ()
La méthode
Array.prototype.every () est similaire à la méthode
.some()
décrite ci-dessus, mais elle ne renvoie la valeur
true
que si tous les éléments du tableau remplissent la condition spécifiée par la fonction passée à cette méthode.
â Exemple
Vérifiez si toutes les estimations stockées dans le tableau sont égales ou supérieures à 3.
const ratings = [3, 5, 4, 3, 5]; const goodOverallRating = ratings.every( rating => rating >= 3 );
Array.prototype.includes ()
La méthode
Array.prototype.includes () vous permet de savoir si un tableau contient une valeur donnée. Elle est similaire à la méthode
.some()
, mais elle ne vérifie pas si les éléments du tableau correspondent à une certaine condition, mais plutÎt si le tableau contient la valeur spécifiée lors de son appel.
â Exemple
Vérifiez s'il y a un élément de chaßne
waldo
dans le tableau:
const names = ['sophie', 'george', 'waldo', 'stephen', 'henry']; const includesWaldo = names.includes('waldo');
Array.from ()
La méthode statique
Array.from () vous permet de créer des tableaux basés sur d'autres tableaux ou chaßnes. Si nécessaire, cette méthode peut recevoir une fonction pour effectuer le mappage, ce qui vous permet d'influencer les données qui tomberont dans le nouveau tableau. En fait, une méthode spéciale est fournie pour le mappage -
Array.prototype.map () , donc il n'est pas entiÚrement clair pourquoi quelqu'un pourrait avoir besoin de cette fonctionnalité de la méthode
Array.from()
.
â Exemple
Créez un tableau basé sur la chaßne.
const newArray = Array.from('hello'); // newArray ['h', 'e', 'l', 'l', 'o']
Créez un tableau contenant des valeurs doublées des éléments du tableau numérique d'origine.
const doubledValues = Array.from([2, 4, 6], number => number * 2);
Object.values ââ()
La méthode
Object.values ââ() renvoie un tableau de valeurs de propriĂ©tĂ© de l'objet qui lui est transmis.
â Exemple
Nous formons un tableau de valeurs de propriétés d'objet.
const icecreamColors = { chocolate: 'brown', vanilla: 'white', strawberry: 'red', } const colors = Object.values(icecreamColors); // colors ["brown", "white", "red"]
Object.keys ()
La méthode
Object.keys () renvoie un tableau composé de noms de propriétés d'objet (clés).
â Exemple
Nous formerons un tableau de noms de propriétés d'objet.
const icecreamColors = { chocolate: 'brown', vanilla: 'white', strawberry: 'red', } const types = Object.keys(icecreamColors); // types: ["chocolate", "vanilla", "strawberry"]
Object.entries ()
La méthode
Object.entries () renvoie, aprÚs avoir traité l'objet qui lui est transmis, un tableau contenant des tableaux qui sont des paires de la forme
[, ]
, qui sont les noms des propriétés et les valeurs de ces propriétés.
â Exemple
Nous formons un tableau contenant, pour l'objet qui nous intéresse, des données sur les noms des propriétés et leurs valeurs.
const weather = { rain: 0, temperature: 24, humidity: 33, } const entries = Object.entries(weather); // entries // [['rain', 0], ['temperature', 24], ['humidity', 33]]
Opérateur d'extension et tableaux
L'opérateur d'extension (opérateur d'
étalement , ...), appliqué aux tableaux, vous permet de les développer en en extrayant leurs éléments. Cet opérateur est utile, par exemple, lorsque vous devez combiner plusieurs tableaux. De plus, son utilisation élimine la nécessité d'utiliser la méthode
.splice()
si vous devez supprimer certains Ă©lĂ©ments du tableau, car elle peut ĂȘtre combinĂ©e avec la mĂ©thode
.slice()
, ce qui évite de modifier le tableau d'origine.
â Exemple
Combinez les deux tableaux.
const spreadableOne = [1, 2, 3, 4]; const spreadableTwo = [5, 6, 7, 8]; const combined = [...spreadableOne, ...spreadableTwo]; // combined : [1, 2, 3, 4, 5, 6, 7, 8]
Nous formons un nouveau tableau, qui est le tableau d'origine duquel l'Ă©lĂ©ment a Ă©tĂ© supprimĂ©. Dans ce cas, le tableau d'origine ne doit pas ĂȘtre modifiĂ©.
const animals = ['squirrel', 'bear', 'deer', 'salmon', 'rat']; const mammals = [...animals.slice(0,3), ...animals.slice(4)]; // mammals : ['squirrel', 'bear', 'deer', 'rat']
Opérateur d'extension et objets
L'application de l'opĂ©rateur d'extension aux objets vous permet de leur ajouter de nouvelles propriĂ©tĂ©s et valeurs sans modifier les objets d'origine (c'est-Ă -dire que de nouveaux objets sont créés Ă la suite de ces opĂ©rations). De plus, cet opĂ©rateur peut ĂȘtre utilisĂ© pour combiner des objets. Il convient de noter ici que l'opĂ©rateur d'extension appliquĂ© Ă un objet n'affecte pas les objets qui y sont imbriquĂ©s.
â Exemple
Créez un nouvel objet en ajoutant une nouvelle propriété à l'objet d'origine sans modifier l'objet d'origine.
const spreadableObject = { name: 'Robert', phone: 'iPhone' }; const newObject = { ...spreadableObject, carModel: 'Volkswagen' }
La syntaxe des paramĂštres de fonction restants
Lorsque vous travaillez avec des fonctions, vous pouvez utiliser la
syntaxe des paramÚtres restants afin d'organiser la réception d'un nombre quelconque d'arguments sous la forme d'un tableau.
â Exemple
Nous imprimons un tableau contenant les arguments passés à la fonction.
function displayArgumentsArray(...theArguments) { console.log(theArguments); } displayArgumentsArray('hi', 'there', 'bud');
Object.freeze ()
La méthode
Object.freeze () «fige» un objet, empĂȘchant les propriĂ©tĂ©s existantes de cet objet de modifier ou d'ajouter de nouvelles propriĂ©tĂ©s et valeurs Ă l'objet. Il existe une idĂ©e fausse selon laquelle cette mĂ©thode est similaire Ă la dĂ©claration d'objets Ă l'aide du mot clĂ©
const
, cependant, les objets constants peuvent ĂȘtre modifiĂ©s.
â Exemple
Nous «figons» un objet, aprĂšs quoi nous essayons de changer sa propriĂ©tĂ© et nous assurons que cela ne peut pas ĂȘtre fait.
const frozenObject = { name: 'Robert' } Object.freeze(frozenObject); frozenObject.name = 'Henry'; // frozenObject , { name: 'Robert' }
Object.seal ()
La méthode
Object.seal () vous permet de "sceller" l'objet, empĂȘchant l'ajout de nouvelles propriĂ©tĂ©s. Dans le mĂȘme temps, les propriĂ©tĂ©s existantes peuvent ĂȘtre modifiĂ©es.
â Exemple
Nous «scellons» l'objet, ce qui ne nous permettra pas d'y ajouter une nouvelle propriété, mais permettra de modifier les propriétés existantes.
const sealedObject = { name: 'Robert' } Object.seal(sealedObject); sealedObject.name = 'Bob'; sealedObject.wearsWatch = true; // sealedObject : { name: 'Bob' }
Object.assign ()
La méthode
Object.assign () vous permet de combiner des objets en copiant les propriĂ©tĂ©s d'un objet Ă un autre. En fait, le mĂȘme effet peut ĂȘtre obtenu en utilisant l'opĂ©rateur d'expansion dĂ©crit ci-dessus, de sorte que ce procĂ©dĂ© peut ĂȘtre complĂštement supprimĂ©. Il convient de noter que cette mĂ©thode, comme l'opĂ©rateur d'extension, n'effectue pas de clonage en profondeur d'objets. Si vous avez besoin d'un outil prĂȘt Ă l'emploi pour le clonage en profondeur d'objets - jetez un Ćil aux outils de la bibliothĂšque
Lodash .
â Exemple
Créons un à partir de deux objets.
const firstObject = { firstName: 'Robert' } const secondObject = { lastName: 'Cooper' } const combinedObject = Object.assign(firstObject, secondObject);
Résumé
Dans cet article, nous avons parlé des méthodes utiles de tableaux et d'objets en JavaScript. De nombreuses méthodes décrites ici renvoient de nouveaux tableaux ou objets. Cela permet de les combiner en chaßnes. Ces méthodes ne modifient pas les données source, ce qui est particuliÚrement important dans le développement de React. De plus, l'utilisation de ces méthodes, dans la grande majorité des cas, vous permet d'abandonner des boucles comme
for
et
while
.
Chers lecteurs! Quelles méthodes de tableaux et d'objets en JavaScript utilisez-vous le plus souvent?
