Heim  >  Artikel  >  Web-Frontend  >  JS-Methode zum Finden des größten Elements in einem Array vom Typ „Zahl“.

JS-Methode zum Finden des größten Elements in einem Array vom Typ „Zahl“.

亚连
亚连Original
2018-05-26 13:53:221732Durchsuche

In diesem Artikel wird hauptsächlich vorgestellt, wie man mit JS das maximale Element in einem Array vom Typ „Zahl“ findet.

Wie verwendet man JS, um die maximale (oder minimale) Zahl in einem Array vom Typ „Zahl“ zu finden?

Im Folgenden werden vier Methoden vorgestellt.

1. Verwenden Sie keine Bibliotheksfunktionen

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(&#39;The parameter arr is not an array&#39;);
    return;
  }
}

Erklärung:

Verwenden Sie ein variables 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(&#39;The parameter arr is not an array&#39;);
    return;
  }
}

Erklärung:

Die Methode „reduce“ verwendet eine Funktion, um ein Array schließlich auf einen Wert für einen Akkumulator und jedes Element im Array zu reduzieren.

reduce akzeptiert zwei Parameter:

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

  1. Akkumulator: Akkumulator, der das Ergebnis des letzten Rückruflaufs 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.

Dann bedeutet der obige Code, dass jedes Mal, wenn das Array zum Vergleich durchlaufen wird, das größere übrig bleibt, also der Akkumulator, und für den nächsten Vergleich mit den Array-Elementen verwendet wird . 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(&#39;The parameter arr is not an array&#39;);
    return;
  }
}

Erklärung:

Anwenden der Erklärung ist etwas kompliziert und es wird keine weitere Erklärung gegeben.

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(&#39;The parameter arr is not an array&#39;);
    return;
  }
}

Erklärung:

Basierend auf der Idee der vorherigen Lösung gibt es in ES6 einen Spread-Operator (...), der die Elemente in einem Array in eine durch Kommas getrennte Sequenz trennen 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 Number-Objekt:

Methode 1:


var variable = new Number (number)


Methode 2:


var variable = number;


Häufig verwendete Methode:


toString() Konvertieren Sie die Zahl in die angegebene Basis Formularzeichenfolge. (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 

Häufig verwendete Methoden für Mathe-Objekte:

Ceil-Aufrundung

Floor()-Abrundung


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


Rundrundung


3. Array-Array-Objekt:

Methode 1 zum Erstellen eines Arrays:

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 variable name = new Array("Element 1", "Element 2"...); Erstellen Sie ein Array-Objekt, indem Sie Elemente im Array angeben.

Methode 4:

var variable name = ["Element 1", "Element 2"...];

Zu beachtende Details für Arrays:


1. Die Länge eines Arrays kann sich in Javascript ändern.

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 Zahlenmethode

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

b, Join verwendet das angegebene Trennzeichen. Verketten Sie die Elemente im Array in einen String umwandeln und diesen zurückgeben.

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

c, pop: Entfernen Sie das letzte Element im Array und geben Sie dieses Element zurück.

d, push: Neue Elemente zu einem Array hinzufügen und den neuen Längenwert des Arrays zurückgeben.

arr1.push("你好");

e, reverse(); drehe die Elemente des Arrays um

f, Slice gibt den Startindexwert und den Endindexwert von an Das Array fängt die Array-Elemente ab und gibt das Subarray zurück. (Einschließlich des Headers, aber nicht des Tails)

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

g, Sortierung, die Sortiermethode muss wann übergeben werden Sortierung. (Wenn nicht übergeben, wird standardmäßig gemäß der ASCII-Tabelle angeordnet)


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

h Der erste Parameter von splice ist der Indexwert, mit dem das Löschen von Elementen gestartet wird , und der zweite Parameter ist die Löschung Die Anzahl der Elemente, die nachfolgenden Daten sind die eingefügten Elemente (Sie müssen sie nicht schreiben).

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

Das oben Gesagte habe ich für Sie zusammengestellt. Ich hoffe, es wird Ihnen in Zukunft hilfreich sein.

Verwandte Artikel:

Ajax-Methode zum Erhalten der Länge des Antwortinhalts

Ajax-Methode zum regelmäßigen Aktualisieren eines bestimmten Inhalts auf der Seite

Ajax-Methode zum Lesen von Eigenschaftenressourcendateidaten

Das obige ist der detaillierte Inhalt vonJS-Methode zum Finden des größten Elements in einem Array vom Typ „Zahl“.. 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