Maison  >  Article  >  interface Web  >  Comment trouver le nombre le plus proche dans un tableau à l’aide de la fonction Réduire ?

Comment trouver le nombre le plus proche dans un tableau à l’aide de la fonction Réduire ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-30 06:02:28723parcourir

How to Find the Nearest Number in an Array Using the Reduce Function?

Déterminer le nombre le plus proche dans un tableau

Étant donné un tableau et un nombre compris entre -1000 et 1000, l'objectif est de mettre à jour le nombre donné pour qu'il soit le nombre le plus proche présent dans le tableau. Par exemple, si le nombre donné est 80 et que le tableau contient [2, 42, 82, 122, 162, 202, 242, 282, 322, 362], le nombre doit être modifié en 82.

Pour pour y parvenir, nous pouvons utiliser la fonction de réduction ES5. La fonction de réduction accumule les valeurs dans le tableau et renvoie un seul résultat. Dans ce cas, nous pouvons l'utiliser pour trouver le nombre dans le tableau qui a la plus petite différence absolue par rapport au nombre donné.

La fonction de réduction prend un rappel comme argument. Le rappel doit renvoyer une valeur unique et prend deux paramètres : la valeur précédente (en commençant par le premier élément du tableau) et la valeur actuelle itérée.

Dans le rappel, nous calculons la différence absolue entre le la valeur actuelle et l'objectif (le nombre donné). On compare ensuite cette différence à la différence absolue entre la valeur précédente et l'objectif. Si la différence est plus petite pour la valeur actuelle, nous mettons à jour la valeur précédente pour qu'elle soit la valeur actuelle.

La fonction de réduction continue de parcourir le tableau, accumulant le nombre le plus proche de l'objectif. Une fois l'ensemble du tableau parcouru, la fonction de réduction renvoie le nombre le plus proche.

Exemple :

<code class="js">var counts = [4, 9, 15, 6, 2],
  goal = 5;

var closest = counts.reduce(function(prev, curr) {
  return (Math.abs(curr - goal) < Math.abs(prev - goal) ? curr : prev);
});

console.log(closest); // Output: 6</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn