Maison  >  Article  >  interface Web  >  Comment utiliser JS pour trouver l'élément maximum d'un tableau de type Number

Comment utiliser JS pour trouver l'élément maximum d'un tableau de type Number

php中世界最好的语言
php中世界最好的语言original
2018-05-26 14:49:121722parcourir

Cette fois, je vais vous montrer comment utiliser JS pour trouver l'élément maximum d'un tableau de type Nombre, et quelles sont les précautions pour utiliser JS pour trouver l'élément maximum d'un tableau de type Nombre. Ce qui suit est un cas pratique, jetons un coup d'oeil.

Quatre méthodes sont présentées ci-dessous.

1. N'utilisez aucune fonction de la bibliothèque

Le code est le suivant :

function findMax1 (arr) {
  let result = 0;
  if (Array.isArray(arr)) {
    for (let i = 0; i < arr.length; i++) {
      result = arr[i] > result ? arr[i] : result;
    }
    
    return result;
  } else {
    console.error('The parameter arr is not an array');
    return;
  }
}

Explication :

Utiliser un résultat variable pour stocker la valeur maximale. Parcourez le tableau à rechercher. Si l'élément actuellement parcouru est supérieur au résultat, attribuez cet élément au résultat.

2. Utilisez Array.reduce()

Le code est le suivant :

function findMax2 (arr) {
  let result = 0;
  if (Array.isArray(arr)) {
    result = arr.reduce((a, b) => {
      return a > b ? a : b;
    }, 0);
    
    return result;
  } else {
    console.error('The parameter arr is not an array');
    return;
  }
}

Explication : Le

La méthode réduire est transmise. Une fonction qui réduit un tableau à une valeur unique basée sur un accumulateur et chaque élément du tableau.

reduce accepte deux paramètres :

Le premier est le rappel, qui est la fonction mentionnée précédemment. Il a quatre paramètres :

  1. accumulator : Accumulator, qui est le résultat de la dernière exécution de rappel. Si initialValue est fourni, alors la première fois est initialValue ;

  2. currentValue : les éléments du tableau actuellement parcouru

  3. currentIndex : le actuellement parcouru ; traversé L'index de l'élément du tableau, à partir de 0. Si initialValue est fourni, il commence à partir de 1

  4. array : le tableau auquel la réduction est actuellement appliquée.

La seconde est initialValue, qui est une valeur initiale et est utilisée comme premier paramètre réel de la première exécution de la fonction de rappel. Ceci est facultatif. Veuillez noter ici que si ce paramètre n'est pas fourni et est appliqué à un tableau vide, une erreur sera signalée.

Ensuite, la signification du code ci-dessus est que chaque fois que parcourt le tableau à des fins de comparaison, le plus grand reste, c'est-à-dire l'accumulateur, et est utilisé pour la prochaine comparaison avec le éléments du tableau. Au final, il ne reste que cette valeur, qui est la valeur maximale.

3. Utilisez Apply et Math.max()

Le code est le suivant :

function findMax3 (arr) {
  let result = 0;
  if (Array.isArray(arr)) {
    result = Math.max.apply(null, arr);
    
    return result;
  } else {
    console.error('The parameter arr is not an array');
    return;
  }
}

Explication :

appliquer l'explication C'est un peu compliqué et ne sera pas expliqué davantage.

Il accepte deux paramètres, le premier est thisArg et le second est argsArray. Les deux sont facultatifs. Pour faire simple, lors de l’utilisation d’une fonction, les paramètres sont transmis sous forme de tableau.

4. Utilisez simplement Math.max()

Le code est le suivant :

function findMax4 (arr) {
  let result = 0;
  if (Array.isArray(arr)) {
    result = Math.max(...arr);
    
    return result;
  } else {
    console.error('The parameter arr is not an array');
    return;
  }
}

Explication :

Basé sur la précédente L'idée de​​la solution est que dans ES6, il existe un opérateur de propagation (...) qui peut séparer les éléments d'un tableau en une séquence séparée par des virgules. Répond simplement aux besoins de la fonction Math.max().

Je voudrais vous présenter quelques points de connaissances liés aux nombres, aux mathématiques et aux tableaux en JS

1.

Comment créer un objet Nombre :

Méthode 1 :

variable var = nouveau Numéro (numéro)

Méthode 2 :

var variable = number;

Méthode couramment utilisée :

toString() convertit le nombre en chaîne sous la forme de base spécifiée. (Entrez un nombre et il sera converti en nombre, number.toString(2))

toFixed() spécifie que les décimales sont conservées et il a également une fonction d'arrondi.

2. Math 

Objet mathématiqueMéthodes couramment utilisées :

arrondi du plafond

floor() arrondi vers le bas

méthode des nombres aléatoires random() // Le nombre pseudo-aléatoire généré est compris entre 0 et 1 (0 inclus, excluant 1),

arrondi

3 , Array array object :

Manière de créer un tableau 1 :

var variable name = new Array(); Créez un tableau d'une longueur de 0.

Méthode 2 :

var variable name = new Array(length) crée un objet tableau de longueur spécifiée.

Méthode 3 :

var 变量名 = new Array("元素1","元素2"...); 给数组指定元素创建数组 的对象。

方式4:

var 变量名 = ["元素1","元素2"...];

数组要注意的细节:

1. 在javascript中数组的长度是可以发生变化的。

var arr = new Array(); //创建了一个长度为0的数组对象。
arr[100] = 10;
document.write("arr长度:"+arr.length+"<br/>");
var arr2 = new Array("狗娃","狗剩","铁蛋");
arr2 = ["狗娃","狗剩","铁蛋","张三"];
document.write("arr2长度:"+arr2.length+"<br/>");

3.1数字的方法

a、concat把arr1与arr2的数组元素组成一个新的数组返回。  
arr1 = arr1.concat(arr2);

b、join使用指定的分隔符把数组中的元素拼装成一个字符串返回。

var elements = arr1.join(",");

c、pop :移除数组中的最后一个元素并返回该元素。

d、push:将新元素添加到一个数组中,并返回数组的新长度值。

arr1.push("你好");

e、reverse(); 翻转数组的元素

f、slice指定数组 的开始索引值与结束索引值截取数组的元素,并且返回子数组。(包头不包尾)

var subArr = arr1.slice(1,2);

g、sort排序,排序的时候一定要传入排序的方法。(不传时默认是按照ASCII表排列)

arr1 = [19,1,20,5];
arr1.sort(sortNumber); //排序,排序的时候一定要传入排序的方法。
function sortNumber(num1,num2){ 
return num1-num2;
}

h、splice第一个参数是开始删除元素的 索引值, 第二参数是删除元素的个数,往后的数据就是插入的元素(也可以不写)。

arr1.splice(1,1,"张三","李四","王五");

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

怎样使用vue2.0资源文件assets和static

如何使用Angular内Router(路由)应用

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