You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/05-data-types/05-array-methods/article.md
+18-70Lines changed: 18 additions & 70 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -237,24 +237,14 @@ Voyons maintenant les méthodes de recherche dans un tableau.
237
237
238
238
### indexOf/lastIndexOf et includes
239
239
240
-
<<<<<<< HEAD
241
-
Les méthodes [arr.indexOf](mdn:js/Array/indexOf), [arr.lastIndexOf](mdn:js/Array/lastIndexOf) et [arr.includes](mdn:js/Array/includes) ont la même syntaxe et utilisent essentiellement la même chose que leurs équivalents de chaîne, mais fonctionnent sur des éléments au lieu de caractères:
240
+
Les méthodes [arr.indexOf](mdn:js/Array/indexOf), et [arr.includes](mdn:js/Array/includes) ont la même syntaxe et utilisent essentiellement la même chose que leurs équivalents de chaîne, mais fonctionnent sur des éléments au lieu de caractères:
242
241
243
242
-`arr.indexOf(item, from)` recherche l'élément `item` à partir de l'index `from`, et retourne l'index où il a été trouvé, sinon il retourne `-1`.
244
-
-`arr.lastIndexOf(item, from)` -- pareil, mais regarde de droite à gauche.
245
243
-`arr.includes(item, from)` -- recherche l'élément `item` en commençant par l'index `from`, retourne `true` si il est trouvé.
246
244
247
-
Par exemple:
248
-
=======
249
-
The methods [arr.indexOf](mdn:js/Array/indexOf) and [arr.includes](mdn:js/Array/includes) have the similar syntax and do essentially the same as their string counterparts, but operate on items instead of characters:
250
-
251
-
-`arr.indexOf(item, from)` -- looks for `item` starting from index `from`, and returns the index where it was found, otherwise `-1`.
252
-
-`arr.includes(item, from)` -- looks for `item` starting from index `from`, returns `true` if found.
253
-
254
-
Usually these methods are used with only one argument: the `item` to search. By default, the search is from the beginning.
245
+
Habituellement, ces méthodes sont utilisées avec un seul argument : l'élément à rechercher. Par défaut, la recherche s'effectue depuis le début.
Notez que les méthodes utilisent la comparaison `===`. Donc, si nous cherchons `false`, il trouve exactement `false` et pas le zéro.
271
-
272
-
Si nous voulons vérifier l'inclusion et ne voulons pas connaître l'index exact, alors `arr.includes` est préférable.
273
-
274
-
De plus, une différence très mineure avec `includes` est qu’il gère correctement `NaN`, contrairement à `indexOf / lastIndexOf`:
259
+
Veuillez noter que `indexOf` utilise l'égalité stricte `===` pour la comparaison. Donc, si nous cherchons "faux", il trouve exactement "faux" et non le zéro.
275
260
276
-
```js run
277
-
constarr= [NaN];
278
-
alert( arr.indexOf(NaN) ); // -1 (devrait être 0, mais l'égalité === ne fonctionne pas pour NaN)
279
-
=======
280
-
Please note that `indexOf` uses the strict equality `===`forcomparison. So, if we look for`false`, it finds exactly `false` and not the zero.
261
+
Si nous voulons vérifier si `item` existe dans le tableau et n'avons pas besoin de l'index exact, alors `arr.includes` est préféré.
281
262
282
-
If we want to check if`item` exists in the array, and don't need the exact index, then `arr.includes` is preferred.
263
+
La méthode [arr.lastIndexOf](mdn:js/Array/lastIndexOf) est la même que `indexOf`, mais recherche de droite à gauche.
283
264
284
-
The method [arr.lastIndexOf](mdn:js/Array/lastIndexOf) is the same as `indexOf`, but looks for from right to left.
Une caractéristique mineure mais remarquable de`includes`est qu'il gère correctement `NaN`, contrairement à `indexOf`:
295
275
296
276
```js run
297
277
constarr= [NaN];
298
-
alert( arr.indexOf(NaN) ); // -1 (wrong, should be 0)
299
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
278
+
alert( arr.indexOf(NaN) ); // -1 (faux, devrait être 0)
300
279
alert( arr.includes(NaN) );// true (correct)
301
280
```
302
-
That's because `includes`was added to JavaScript much later and uses the more up to date comparison algorithm internally.
281
+
C'est parce que `includes`a été ajouté à JavaScript beaucoup plus tard et utilise l'algorithme de comparaison le plus à jour en interne.
303
282
````
304
283
305
-
<<<<<<<HEAD
306
-
### find et findIndex
307
-
=======
308
-
### find and findIndex/findLastIndex
309
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
284
+
### find et findIndex/findLastIndex
310
285
311
286
Imaginez que nous ayons un tableau d'objets. Comment pouvons-nous trouver un objet avec la condition spécifique?
312
287
@@ -346,14 +321,11 @@ Dans la vie réelle, les tableaux d'objets sont une chose courante, la méthode
346
321
347
322
Notez que dans l'exemple, nous fournissons à `find` la fonction `item => item.id == 1` avec un argument. C'est typique, les autres arguments de cette fonction sont rarement utilisés.
348
323
349
-
<<<<<<< HEAD
350
-
La méthode [arr.findIndex](mdn:js/Array/findIndex) est essentiellement la même, mais elle retourne l'index où l'élément a été trouvé à la place de l'élément lui-même.
351
-
=======
352
-
The [arr.findIndex](mdn:js/Array/findIndex) method has the same syntax, but returns the index where the element was found instead of the element itself. The value of `-1` is returned if nothing is found.
324
+
La méthode [arr.findIndex](mdn:js/Array/findIndex) est essentiellement la même, mais elle retourne l'index où l'élément a été trouvé à la place de l'élément lui-même. La valeur de `-1` est retournée si rien n'est trouvé.
353
325
354
-
The [arr.findLastIndex](mdn:js/Array/findLastIndex)method is like `findIndex`, but searches from right to left, similar to`lastIndexOf`.
326
+
La méthode [arr.findLastIndex](mdn:js/Array/findLastIndex) est comme `findIndex`, mais recherche de droite à gauche, similaire à `lastIndexOf`.
La méthode `find` recherche un seul (premier) élément qui rend la fonction true.
@@ -457,11 +426,6 @@ Pour utiliser notre propre ordre de tri, nous devons fournir une fonction comme
457
426
458
427
La fonction doit comparer deux valeurs arbitraires et renvoyer :
459
428
460
-
<<<<<<< HEAD
461
-
=======
462
-
The function should compare two arbitrary values and return:
463
-
464
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
465
429
```js
466
430
function compare(a, b) {
467
431
if (a > b) return 1; // if the first value is greater than the second
@@ -716,13 +680,8 @@ Les tableaux ne forment pas un type de langue distinct. Ils sont basés sur des
716
680
Donc son `typeof` ne permet pas de distinguer un objet brut d'un tableau:
717
681
718
682
```js run
719
-
<<<<<<<HEAD
720
-
alert(typeof {}); // objet
721
-
alert(typeof []); // pareil
722
-
=======
723
683
alert(typeof {}); // object
724
-
alert(typeof []); // object (same)
725
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
684
+
alert(typeof []); // object (pareil)
726
685
```
727
686
728
687
...Mais les tableaux sont utilisés si souvent qu'il existe une méthode spéciale pour cela: [Array.isArray(value)](mdn:js/Array/isArray). Il renvoie `true` si la `value` est un tableau, sinon il renvoie `false`.
@@ -811,16 +770,11 @@ Un cheat sheet des méthodes de tableau :
811
770
-`split/join` -- convertit une chaîne en tableau et retour.
812
771
-`reduce(func, initial)` -- calcule une valeur unique sur le tableau en appelant `func` pour chaque élément et en transmettant un résultat intermédiaire entre les appels.
813
772
- Aditionellement:
814
-
-`Array.isArray(arr)` vérifie que l'`arr` est bien un tableau.
773
+
-`Array.isArray(value)` vérifie que `value` est un tableau, si c'est le cas, renvoie `true`, sinon `false`.
815
774
816
775
Veuillez noter que les méthodes `sort`, `reverse` et `splice` modifient le tableau lui-même.
817
776
818
-
<<<<<<< HEAD
819
777
Ces méthodes sont les plus utilisées, elles couvrent 99% des cas d'utilisation. Mais il y en a encore d'autres:
820
-
=======
821
-
- Additionally:
822
-
-`Array.isArray(value)` checks `value` for being an array, if so returns `true`, otherwise `false`.
823
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
824
778
825
779
826
780
-[arr.some(fn)](mdn:js/Array/some)/[arr.every(fn)](mdn:js/Array/every) vérifie le tableau.
@@ -831,14 +785,8 @@ Ces méthodes sont les plus utilisées, elles couvrent 99% des cas d'utilisation
831
785
832
786
Ces méthodes se comportent en quelque sorte comme les opérateurs `||` et `&&` : si `fn` renvoie une valeur vraie, `arr.some()` renvoie immédiatement `true` et arrête de parcourir les autres éléments ; si `fn` renvoie une valeur fausse, `arr.every()`retourne immédiatement `false` et arrête également d'itérer sur les autres éléments.
833
787
834
-
<<<<<<< HEAD
835
788
On peut utiliser `every` pour compaere les tableaux :
836
-
=======
837
-
These methods behave sort of like `||` and `&&` operators: if `fn` returns a truthy value, `arr.some()` immediately returns `true` and stops iterating over the rest of items; if `fn` returns a falsy value, `arr.every()` immediately returns `false` and stops iterating over the rest of items as well.
838
-
839
-
We can use `every` to compare arrays:
840
789
841
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
842
790
```js run
843
791
functionarraysEqual(arr1, arr2) {
844
792
returnarr1.length===arr2.length&&arr1.every((value, index) => value === arr2[index]);
0 commit comments