TIP: Finding a longest string in an array

TIP: Finding a longest string in an array

deejaywillzz

JF-Expert Member
Joined
Mar 11, 2014
Posts
637
Reaction score
224
PHP:
var arr = ['first item', 'second item is longer than the third one', 
           'third longish item'];

var lgth = 0;
var longest;

for(var i=0; i < arr.length; i++){
    if(arr[i].length > lgth){
        var lgth = arr[i].length;
        longest = arr[i];
    }      
} 

alert(longest);
 
PHP:
var arr = ['first item', 'second item is longer than the third one', 
           'third longish item'];

var lgth = 0;
var longest;

for(var i=0; i < arr.length; i++){
    if(arr[i].length > lgth){
        var lgth = arr[i].length;
        longest = arr[i];
    }      
} 

alert(longest);

Why do you do "var lgth = arr.length" wakati umesha-instantiate "var lgth = 0" pale juu. Shouldn't "lgth = arr.length" be enough? without the "var".
 
Code:
[COLOR=#000000][COLOR=#007700]var [/COLOR][COLOR=#0000BB]arr [/COLOR][COLOR=#007700]= [[/COLOR][COLOR=#DD0000]'first item'[/COLOR][COLOR=#007700], [/COLOR][COLOR=#DD0000]'second item is longer than the third one'[/COLOR][COLOR=#007700], 
           [/COLOR][COLOR=#DD0000]'third longish item'[/COLOR][COLOR=#007700]];
[/COLOR][/COLOR][COLOR=#ff0000]
[B]var lgth = 0;[/B][/COLOR][COLOR=#000000][COLOR=#007700]
var [/COLOR][COLOR=#0000BB]longest[/COLOR][COLOR=#007700];

for(var [/COLOR][COLOR=#0000BB]i[/COLOR][COLOR=#007700]=[/COLOR][COLOR=#0000BB]0[/COLOR][COLOR=#007700]; [/COLOR][COLOR=#0000BB]i [/COLOR][COLOR=#007700]< [/COLOR][COLOR=#0000BB]arr[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]length[/COLOR][COLOR=#007700]; [/COLOR][COLOR=#0000BB]i[/COLOR][COLOR=#007700]++){
    if([/COLOR][COLOR=#0000BB]arr[/COLOR][COLOR=#007700][[/COLOR][COLOR=#0000BB]i[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]length [/COLOR][COLOR=#007700]> [/COLOR][COLOR=#0000BB]lgth[/COLOR][COLOR=#007700]){
        [/COLOR][/COLOR][COLOR=#ff0000][B]var lgth = arr[i].length;[/B][/COLOR][COLOR=#000000][COLOR=#007700]
        [/COLOR][COLOR=#0000BB]longest [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]arr[/COLOR][COLOR=#007700][[/COLOR][COLOR=#0000BB]i[/COLOR][COLOR=#007700]];
    }      
} 

[/COLOR][COLOR=#0000BB]alert[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]longest[/COLOR][COLOR=#007700]);  [/COLOR][/COLOR]

Sure kama anavyosema ub16 Hili ni tatizo
 
PHP:
var arr = ['first item', 'second item is longer than the third one', 
           'third longish item'];

var lgth = 0;
var longest;

for(var i=0; i < arr.length; i++){
    if(arr[i].length > lgth){
        var lgth = arr[i].length;
        longest = arr[i];
    }      
} 

alert(longest);


In Ruby

Code:
   array = ["first word", "second word", "third word", "the one that could be the longest"]
   array.max{|a, b| a.length <=> b.length }
'
Or you could just do in one line
Code:
    ["first word", "second word", "third word", "the one that could be the longest"].max{|x, y| x.length <=> y.length }

Less lines of code, no semi colons, everything is an object in Ruby.
 
Back
Top Bottom