erhält die maximale Länge des JavaScript-Array-Elements

8

Wenn ich das folgende Array habe:

%Vor%

Ich möchte die maximale Länge der Array-Elemente erhalten, dh 5 (für das Element 'abcde').

Ich weiß, dass Sie die Länge eines Array-Elements über (zB) array [1] .length bekommen können, aber ich weiß nicht, wie ich die maximale Länge erhalten soll.

Jede Antwort in JavaScript oder jQuery wäre großartig.

TIA

Paul Jones

    
Paul Jones 18.05.2011, 10:49
quelle

7 Antworten

20

One-Liner für Sie:

%Vor%

Arbeitsbeispiel: Ссылка

In neueren Browsern (oder sogar älteren Browsern mit einer Kompatibilität) können Sie dies ohne jQuery tun Implementierung von Array.prototype.map ) too:

%Vor%     
Andy E 18.05.2011 10:55
quelle
5

Ein (möglicherweise mieser) Weg, dies zu tun, ohne Jquery zu benutzen:

%Vor%     
James Hobbs 18.05.2011 10:53
quelle
1

Sie könnten jQuerys each() verwenden, um ein wenig schöner zu iterieren.

%Vor%

Oder einfaches JavaScript ...

%Vor%     
alex 18.05.2011 10:52
quelle
1

Mit Array.prototype.reduce() können Sie eine Math.max() Berechnung für jedes Element im Array elegant durchführen. Es spielt keine Rolle, ob die Elemente im Array String oder Sub-Arrays (2D-Array, Matrix usw.) sind. Dies funktioniert, weil String und Array beide eine prototype.length() -Funktion haben.

Ich habe auch eine Überprüfung für ganzzahlige Werte pro Ihrem Kommentar hinzugefügt oben.

%Vor%

Ein Liner:

%Vor%     
Mr. Polywhirl 20.02.2015 17:35
quelle
0

Dafür gibt es verschiedene Möglichkeiten.

Ich würde alle Array-Elemente durchlaufen und das längste Element in einer lokalen Variablen speichern. Sie erhalten das längste Element, indem Sie das erste Array-Element mit dem zweiten vergleichen und dann das längere speichern. Dann gehen Sie weiter und vergleichen Sie jedes Element mit dem längsten bis jetzt.

Sie brauchen dazu nur eine Schleife.

    
Patrick 18.05.2011 10:55
quelle
0

Sie können Ihren Code selbst erstellen. Folge diesem - & gt;

%Vor%

verwenden Sie dann

%Vor%     
avalkab 07.11.2012 09:21
quelle
0

Eine neue Antwort auf eine alte Frage: In ES6 können Sie noch kürzer machen:

%Vor%     
Dávid Veszelovszki 09.04.2017 09:12
quelle

Tags und Links