Heim >Web-Frontend >js-Tutorial >So verwenden Sie JS, um das maximale Element eines Arrays vom Typ „Zahl' zu finden

So verwenden Sie JS, um das maximale Element eines Arrays vom Typ „Zahl' zu finden

php中世界最好的语言
php中世界最好的语言Original
2018-05-26 14:49:121764Durchsuche

Dieses Mal zeige ich Ihnen, wie Sie mit JS das maximale Element eines Arrays vom Typ „Zahl“ finden und welche Vorsichtsmaßnahmen es gibt, um mit JS das maximale Element eines Arrays vom Typ „Zahl“ zu finden Das Folgende ist ein praktischer Fall, werfen wir einen Blick darauf.

Im Folgenden werden vier Methoden vorgestellt.

1. Verwenden Sie keine Bibliotheksfunktion

Der Code lautet wie folgt:

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;
  }
}

Erklärung:

Verwenden Sie eine Variable Ergebnis, um den Maximalwert zu speichern. Durchsuchen Sie das zu durchsuchende Array. Wenn das aktuell durchsuchte Element größer als das Ergebnis ist, weisen Sie dieses Element dem Ergebnis zu.

2. Verwenden Sie Array.reduce()

Der Code lautet wie folgt:

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;
  }
}

Erklärung: Die

reduce-Methode erfolgt über eine Funktion für einen Akkumulator und jedes Element im Array, wodurch ein Array letztendlich auf einen einzelnen Wert reduziert wird.

reduce akzeptiert zwei Parameter:

Der erste ist Callback, die zuvor erwähnte Funktion. Es hat vier Parameter:

  1. accumulator: Accumulator, der das Ergebnis des letzten Callback-Laufs ist. Wenn initialValue bereitgestellt wird, ist das erste Mal initialValue;

  2. currentValue: die Elemente des aktuell durchlaufenen Arrays; traversed Der Index des Array-Elements, beginnend bei 0. Wenn initialValue angegeben wird, beginnt es bei 1;

  3. array: das Array, auf das die Reduzierung derzeit angewendet wird.

  4. Der zweite ist initialValue, ein Anfangswert, der als erster tatsächlicher Parameter des ersten Laufs der Callback-Funktion verwendet wird. Dies ist optional. Bitte beachten Sie hier, dass ein Fehler gemeldet wird, wenn dieser Parameter nicht angegeben und auf ein leeres Array angewendet wird.

  5. Dann bedeutet der obige Code, dass jedes Mal, wenn
das Array

zum Vergleich durchläuft, das größere übrig bleibt, nämlich der Akkumulator, und für den nächsten Vergleich mit dem verwendet wird Array-Elemente. Am Ende bleibt nur dieser Wert übrig, der der Maximalwert ist.

3. Verwenden Sie Apply und Math.max()

Der Code lautet wie folgt:

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;
  }
}
Erklärung:

apply Die Erklärung ist etwas klarer. Komplex, keine weitere Erklärung erforderlich.

Es akzeptiert zwei Parameter, der erste ist thisArg und der zweite ist argsArray. Beides ist optional. Vereinfacht ausgedrückt werden bei der Verwendung einer Funktion die Parameter als Array übergeben.

4. Verwenden Sie einfach Math.max()

Der Code lautet wie folgt:

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;
  }
}
Erklärung:

Basierend auf Die Idee der vorherigen Lösung besteht darin, dass es in ES6 einen Spread-Operator (...) gibt, der die Elemente in einem Array in eine durch Kommas getrennte Sequenz aufteilen kann. Erfüllt genau die Anforderungen der Funktion Math.max().

Ich möchte Ihnen einige Wissenspunkte im Zusammenhang mit Zahlen, Mathematik und Arrays in JS vorstellen

1.

So erstellen Sie ein Zahlenobjekt:

Methode 1:

Var-Variable = neue Zahl (Zahl)

Methode 2:

var variable = number;

Häufig verwendete Methode:

toString() konvertiert die Zahl in eine Zeichenfolge in der angegebenen Basisform. (Geben Sie eine Zahl ein und sie wird in eine Zahl umgewandelt, number.toString(2))

toFixed() gibt an, dass Dezimalstellen beibehalten werden, und verfügt außerdem über eine Rundungsfunktion.

2. Mathe 

Mathe-Objekt

Häufig verwendete Methoden:

ceil aufrunden floor() abrunden

Random() Zufallszahlenmethode // Die erzeugte Pseudozufallszahl liegt zwischen 0 und 1 (einschließlich 0, ausgenommen 1),

Rundrundung

3 ,

Array array

object:

Möglichkeit zum Erstellen eines Arrays 1: var variable name = new Array(); Erstellt ein Array mit einer Länge von 0.

Methode 2:

var variable name = new Array(length) erstellt ein Array-Objekt der angegebenen Länge.

Methode 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(路由)应用

Das obige ist der detaillierte Inhalt vonSo verwenden Sie JS, um das maximale Element eines Arrays vom Typ „Zahl' zu finden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn