From bf8e099b9c8b3c60d60b3712b4fc97b052c39887 Mon Sep 17 00:00:00 2001 From: julieng Date: Tue, 3 Aug 2021 08:03:23 +0200 Subject: convert content to md --- .../reference/global_objects/array/every/index.md | 166 +++++++++------------ 1 file changed, 72 insertions(+), 94 deletions(-) (limited to 'files/fr/web/javascript/reference/global_objects/array/every') diff --git a/files/fr/web/javascript/reference/global_objects/array/every/index.md b/files/fr/web/javascript/reference/global_objects/array/every/index.md index 65dfaf3c44..030fb9e115 100644 --- a/files/fr/web/javascript/reference/global_objects/array/every/index.md +++ b/files/fr/web/javascript/reference/global_objects/array/every/index.md @@ -12,84 +12,83 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Array/every original_slug: Web/JavaScript/Reference/Objets_globaux/Array/every --- -
{{JSRef}}
+{{JSRef}} -

La méthode every() permet de tester si tous les éléments d'un tableau vérifient une condition donnée par une fonction en argument. Cette méthode renvoie un booléen pour le résultat du test.

+La méthode **`every()`** permet de tester si tous les éléments d'un tableau vérifient une condition donnée par une fonction en argument. Cette méthode renvoie un booléen pour le résultat du test. -
-

Note : Cette méthode renvoie true pour n'importe quelle condition utilisée sur un tableau vide.

-
+> **Note :** Cette méthode renvoie `true` pour n'importe quelle condition utilisée sur un tableau vide. -
{{EmbedInteractiveExample("pages/js/array-every.html")}}
+{{EmbedInteractiveExample("pages/js/array-every.html")}} -

Syntaxe

+## Syntaxe -
arr.every(callback[, thisArg])
+ arr.every(callback[, thisArg]) -

Paramètres

+### Paramètres -
-
callback
-
La fonction sur laquelle on souhaite tester chaque élément du tableau. Elle prend en compte trois arguments : -
-
currentValue
-
La valeur de l'élément à traiter.
-
index{{Optional_inline}}
-
L'indice de l'élément du tableau à tester.
-
array{{Optional_inline}}
-
Le tableau sur lequel on a appelé la méthode every.
-
-
-
thisArg{{Optional_inline}}
-
Paramètre optionnel. La valeur à utiliser pour this lors de l'exécution de la fonction.
-
+- `callback` -

Valeur de retour

+ - : La fonction sur laquelle on souhaite tester chaque élément du tableau. Elle prend en compte trois arguments : -

true si la fonction de rappel obtient une valeur équivalente à vrai (truthy) pour chaque élément du tableau et false sinon.

+ - `currentValue` + - : La valeur de l'élément à traiter. + - `index`{{Optional_inline}} + - : L'indice de l'élément du tableau à tester. + - `array`{{Optional_inline}} + - : Le tableau sur lequel on a appelé la méthode `every`. -

Description

+- `thisArg`{{Optional_inline}} + - : Paramètre optionnel. La valeur à utiliser pour `this` lors de l'exécution de la fonction. -

La méthode every exécute la fonction callback fournie sur chacun des éléments contenus dans le tableau jusqu'à ce qu'un élément pour lequel la fonction callback renvoie une valeur fausse (falsy value) soit trouvé. Si un tel élément est trouvé, la méthode every renvoie directement false. Sinon, si la fonction callback a renvoyé une valeur vraie pour tous les éléments, la méthode every renverra true. La fonction callback n'est appelée que pour les indices du tableau pour lesquels il existe des valeurs affectées. Elle n'est pas appelée pour les indices supprimés ou ceux qui n'ont jamais reçu de valeur.

+### Valeur de retour -

callback est appelée avec trois arguments : la valeur de l'élément en cours de traitement, l'indice de l'élément dans le tableau et le tableau qui est parcouru.

+`true` si la fonction de rappel obtient une valeur équivalente à vrai (_truthy_) pour chaque élément du tableau et `false` sinon. -

Si un paramètre thisArg est fourni à la méthode every, ce sera la valeur this de la fonction callback. Si ce paramètre n'est pas fourni, la valeur undefined sera utilisée comme valeur pour this. La valeur this « définitivement » utilisée par la fonction callback est déterminée selon les règles usuelles de détermination de this.

+## Description -

every ne modifie pas le tableau sur lequel elle a été appelée.

+La méthode `every` exécute la fonction `callback` fournie sur chacun des éléments contenus dans le tableau jusqu'à ce qu'un élément pour lequel la fonction `callback` renvoie une valeur fausse (_falsy value_) soit trouvé. Si un tel élément est trouvé, la méthode `every` renvoie directement `false`. Sinon, si la fonction `callback` a renvoyé une valeur vraie pour tous les éléments, la méthode `every` renverra `true`. La fonction `callback` n'est appelée que pour les indices du tableau pour lesquels il existe des valeurs affectées. Elle n'est pas appelée pour les indices supprimés ou ceux qui n'ont jamais reçu de valeur. -

Les éléments traités par la méthode every sont définis lors du premier appel à callback. Les éléments ajoutés au tableau après que l'appel à every ait commencé ne seront pas traités par la fonction callback. Si des éléments du tableau sont modifiés, la valeur passée à la fonction callback sera celle qu'ils ont au moment où every les traitera. Les éléments qui sont supprimés ne sont pas traités par la fonction every.

+`callback` est appelée avec trois arguments : la valeur de l'élément en cours de traitement, l'indice de l'élément dans le tableau et le tableau qui est parcouru. -

every agit de la même façon que le quantificateur mathématiques « pour tous », notamment pour le cas au limite d'un tableau vide pour lequel elle renvoie true (on dit qu'il est trivialement vrai que tous les éléments d'un ensemble vide respectent n'importe quelle condition).

+Si un paramètre `thisArg` est fourni à la méthode `every`, ce sera la valeur `this` de la fonction `callback`. Si ce paramètre n'est pas fourni, la valeur `undefined` sera utilisée comme valeur pour `this`. La valeur `this` « définitivement » utilisée par la fonction `callback` est déterminée selon [les règles usuelles de détermination de `this`](/fr/docs/Web/JavaScript/Reference/Opérateurs/L_opérateur_this). -

Exemples

+`every` ne modifie pas le tableau sur lequel elle a été appelée. -

Tester la valeur des éléments d'un tableau

+Les éléments traités par la méthode `every` sont définis lors du premier appel à `callback`. Les éléments ajoutés au tableau après que l'appel à `every` ait commencé ne seront pas traités par la fonction `callback`. Si des éléments du tableau sont modifiés, la valeur passée à la fonction `callback` sera celle qu'ils ont au moment où `every` les traitera. Les éléments qui sont supprimés ne sont pas traités par la fonction `every`. -

Dans l'exemple suivant, on teste si tous les éléments du tableau sont supérieurs à 10.

+`every` agit de la même façon que le quantificateur mathématiques « pour tous », notamment pour le cas au limite d'un tableau vide pour lequel elle renvoie `true` (on dit qu'il est trivialement vrai que tous les éléments d'un [ensemble vide](https://fr.wikipedia.org/wiki/Ensemble_vide#Difficult.C3.A9s_de_la_notion_d.27ensemble_vide) respectent n'importe quelle condition). -
function estAssezGrand(element, index, array) {
-  return element >= 10;
+## Exemples
+
+### Tester la valeur des éléments d'un tableau
+
+Dans l'exemple suivant, on teste si tous les éléments du tableau sont supérieurs à 10.
+
+```js
+function estAssezGrand(element, index, array) {
+  return element >= 10;
 }
 [12, 5, 8, 130, 44].every(estAssezGrand);   // false
 [12, 54, 18, 130, 44].every(estAssezGrand); // true
-
+``` -

Utiliser les fonctions fléchées avec every

+### Utiliser les fonctions fléchées avec `every` -

{{jsxref("Fonctions/Fonctions_fl%C3%A9ch%C3%A9es","Les fonctions fléchées","","1")}} permettent d'utiliser une syntaxe plus concise pour effectuer le même test.

+{{jsxref("Fonctions/Fonctions_fl%C3%A9ch%C3%A9es","Les fonctions fléchées","","1")}} permettent d'utiliser une syntaxe plus concise pour effectuer le même test. -
[12, 5, 8, 130, 44].every(elem => elem >= 10); // false
-[12, 54, 18, 130, 44].every(elem => elem >= 10); // true
-[{a:1, b:2}, {a:1, b:3}].every(elem => elem.a === 1); // true
-[{a:2, b:2}, {a:1, b:3}].every(elem => elem.a === 1); // false
-
+```js +[12, 5, 8, 130, 44].every(elem => elem >= 10); // false +[12, 54, 18, 130, 44].every(elem => elem >= 10); // true +[{a:1, b:2}, {a:1, b:3}].every(elem => elem.a === 1); // true +[{a:2, b:2}, {a:1, b:3}].every(elem => elem.a === 1); // false +``` -

Prothèse d'émulation (polyfill)

+## Prothèse d'émulation (_polyfill_) -

every fut ajouté avec la cinquième édition du standard ECMA-262. Pour cette raison, il n'est pas nécessairement présent dans les différentes implémentations de ce standard. Afin de faire fonctionner du code dans un environnement qui ne possède pas cette fonctionnalité, on pourra utiliser le fragment de code suivant au début des scripts. Cet algorithme correspond exactement à celui défini dans la cinquième édition du standard ECMA-262. On prend l'hypothèse que Object et TypeError ont leurs valeurs originales (n'ont pas été modifiés) et que callbackfn.call correspond bien à la valeur originale de {{jsxref("Function.prototype.call")}}

+`every` fut ajouté avec la cinquième édition du standard ECMA-262. Pour cette raison, il n'est pas nécessairement présent dans les différentes implémentations de ce standard. Afin de faire fonctionner du code dans un environnement qui ne possède pas cette fonctionnalité, on pourra utiliser le fragment de code suivant au début des scripts. Cet algorithme correspond exactement à celui défini dans la cinquième édition du standard ECMA-262. On prend l'hypothèse que `Object` et `TypeError` ont leurs valeurs originales (n'ont pas été modifiés) et que `callbackfn.call` correspond bien à la valeur originale de {{jsxref("Function.prototype.call")}} -
if (!Array.prototype.every) {
+```js
+if (!Array.prototype.every) {
   Array.prototype.every = function(callbackfn, thisArg) {
     'use strict';
     var T, k;
@@ -105,7 +104,7 @@ original_slug: Web/JavaScript/Reference/Objets_globaux/Array/every
     // 2. Soit lenValue le résultat de l'appel de la méthode interne
     //   Get sur O avec l'argument "length".
     // 3. Soit len le résultat de ToUint32(lenValue).
-    var len = O.length >>> 0;
+    var len = O.length >>> 0;
 
     // 4. Si IsCallable(callbackfn) est faux, on lève une exception
     // TypeError.
@@ -114,15 +113,15 @@ original_slug: Web/JavaScript/Reference/Objets_globaux/Array/every
     }
 
     // 5. Si thisArg a été fourni : soit T cette valeur thisArg, undefined sinon.
-    if (arguments.length > 1) {
+    if (arguments.length > 1) {
       T = thisArg;
     }
 
     // 6. Soit k égal à 0.
     k = 0;
 
-    // 7. On répète tant que k < len
-    while (k < len) {
+    // 7. On répète tant que k < len
+    while (k < len) {
 
       var kValue;
 
@@ -153,44 +152,23 @@ original_slug: Web/JavaScript/Reference/Objets_globaux/Array/every
     return true;
   };
 }
-
- -

Spécifications

- - - - - - - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ES5.1', '#sec-15.4.4.16', 'Array.prototype.every')}}{{Spec2('ES5.1')}}Définition initiale. Implémentée avec JavaScript 1.6.
{{SpecName('ES6', '#sec-array.prototype.every', 'Array.prototype.every')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-array.prototype.every', 'Array.prototype.every')}}{{Spec2('ESDraft')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.builtins.Array.every")}}

- -

Voir aussi

- - +``` + +## Spécifications + +| Spécification | État | Commentaires | +| -------------------------------------------------------------------------------------------------------- | ---------------------------- | ----------------------------------------------------- | +| {{SpecName('ES5.1', '#sec-15.4.4.16', 'Array.prototype.every')}} | {{Spec2('ES5.1')}} | Définition initiale. Implémentée avec JavaScript 1.6. | +| {{SpecName('ES6', '#sec-array.prototype.every', 'Array.prototype.every')}} | {{Spec2('ES6')}} |   | +| {{SpecName('ESDraft', '#sec-array.prototype.every', 'Array.prototype.every')}} | {{Spec2('ESDraft')}} |   | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Array.every")}} + +## Voir aussi + +- {{jsxref("Array.prototype.forEach()")}} +- {{jsxref("Array.prototype.some()")}} +- {{jsxref("Array.prototype.find()")}} +- {{jsxref("TypedArray.prototype.every()")}} -- cgit v1.2.3-54-g00ecf