Maison > interface Web > js tutoriel > Comment puis-je trouver le nombre le plus proche dans un tableau d'une valeur donnée ?

Comment puis-je trouver le nombre le plus proche dans un tableau d'une valeur donnée ?

Patricia Arquette
Libérer: 2024-10-30 17:52:31
original
710 Les gens l'ont consulté

How Can I Find the Closest Number in an Array to a Given Value?

Trouver le nombre le plus proche dans un tableau

Étant donné un nombre dans une plage spécifique, l'objectif est de déterminer le nombre le plus proche dans un tableau . Supposons que le nombre donné puisse aller de -1 000 à 1 000.

Le problème :

Nous avons un tableau de nombres, tels que :

[2, 42, 82, 122, 162, 202, 242, 282, 322, 362]
Copier après la connexion

Et nous voulons trouver le nombre dans le tableau qui est le plus proche d'une valeur donnée, par exemple 80.

La solution : utiliser la méthode Array.reduce()

Nous pouvons utiliser la méthode Array.reduce() pour résoudre ce problème. La méthode réduire() applique une fonction de réduction à chaque élément d'un tableau, accumulant le résultat en une seule valeur.

Voici une solution JavaScript utilisant réduire() :

<code class="js">var counts = [2, 42, 82, 122, 162, 202, 242, 282, 322, 362],
    goal = 80;

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

console.log(closest); // outputs: 82</code>
Copier après la connexion

Dans ce solution, nous utilisons la méthode réduire() pour comparer la différence absolue entre chaque élément du tableau et le nombre donné. L'élément avec la plus petite différence absolue est attribué à la variable la plus proche.

Enfin, nous enregistrons la valeur la plus proche de la console, qui dans cet exemple serait 82, le nombre le plus proche de 80 dans le tableau.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal