Maison > interface Web > js tutoriel > Programme JavaScript pour trouver le nombre le plus proche dans un tableau

Programme JavaScript pour trouver le nombre le plus proche dans un tableau

王林
Libérer: 2023-09-07 16:25:08
avant
1502 Les gens l'ont consulté

JavaScript 程序查找数组中最接近的数字

Nous allons écrire un programme JavaScript pour trouver le nombre le plus proche dans un tableau en comparant chaque élément à un nombre cible et en gardant une trace de l'élément le plus proche. Le programme utilisera une boucle pour parcourir chaque élément du tableau et utilisera une instruction conditionnelle pour comparer la différence entre le nombre cible et l'élément actuel. Si la différence est inférieure à la différence actuelle la plus proche, nous mettons à jour le nombre le plus proche. Le résultat de ce programme sera le nombre du tableau donné qui est le plus proche de la cible.

Méthode

Ce programme trouve le nombre le plus proche d'une valeur cible dans un tableau de nombres -

  • Définissez une variable pour stocker la différence entre la valeur cible et la valeur actuelle dans la boucle.

  • Réglez la différence sur un très grand nombre afin que tout nombre du tableau devienne plus petit et devienne le nouveau nombre le plus proche.

  • Parcourez le tableau de nombres et pour chaque nombre, calculez la différence absolue entre la valeur cible et le nombre actuel.

  • Si la différence actuelle est inférieure à la différence stockée, mettez à jour la différence stockée avec la différence actuelle et stockez le numéro actuel comme numéro le plus proche.

  • Répétez ce processus pour tous les nombres du tableau.

  • Une fois la boucle terminée, le nombre le plus proche de la valeur cible est le nombre stocké dans la variable.

Exemple

Ceci est un exemple de fonction JavaScript qui prend en entrée un tableau de nombres et un nombre cible et renvoie le nombre du tableau le plus proche du nombre cible -

function findClosest(numbers, target) {

   let closest = numbers[0]; 
   // Assume the first number is the closest
   let closestDiff = Math.abs(target - closest); 
   
   // Calculate the difference between the target and closest
   for (let i = 1; i < numbers.length; i++) {
      let current = numbers[i];
      let currentDiff = Math.abs(target - current); 
      
      // Calculate the difference between the target and current number
      if (currentDiff < closestDiff) {
         closest = current; 
         
         // Update the closest number
         closestDiff = currentDiff; 
         
         // Update the closest difference
      }
   }
   return closest;
}
const arr = [45, 23, 25, 78, 32, 56, 12];
const target = 50;

console.log(findClosest(arr, target));
Copier après la connexion

Instructions

    La fonction
  • findClosest a deux paramètres : un tableau de nombres et un nombre cible target.

  • Nous créons une variable closest et la définissons égale au premier nombre du tableau numbers, en supposant qu'il s'agit du nombre le plus proche de la cible.

  • Nous créons également une variable closestDiff qui calcule la différence entre le nombre cible et le nombre le plus proche en utilisant Math.abs(). Math.abs()Renvoie la valeur absolue d'un nombre, garantissant que la différence est toujours positive.

  • Ensuite, nous utilisons une boucle for pour parcourir le tableau numbers. Pour chaque itération, nous stockons le currentnumber dans la variable actuelle et calculons la différence entre le nombre cible et le nombre actuel dans currentDiff.

  • Si currentDiff est inférieur à closestDiff, nous mettons à jour closest à current et closestDiff à currentDiff.

  • Enfin, la fonction renvoie le nombre le plus proche de la cible.

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:tutorialspoint.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal