try this
function longStr(array, max)
{
var result = '';
array.sort(function (a, b) { return b.length - a.length; });
max = max >= array.length ? array.length : max;
for (var i = 0; i < max; i++) {
result += array[i] + ' ';
}
return result;
}
longStr(["a", "ab", "abc", "abcd", "abcde"], 2);
refer
Array.prototype.sort() - JavaScript | MDN[
^]
demo:
- JSFiddle[
^]
Updated solution based on comments from
Richard Deeming
function longStr(array, max)
{
var result = '';
array.sort(function (a, b) { return b.length - a.length; });
max = max >= array.length ? array.length : max;
return array.slice(0, max).join(' ');
}