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!