Max 10 numbers in array including duplicates

by divyanshu013

JavaScript

var input = [2,7,3,4,6,9,2,3,16,23,76,43,13,98,43,123,43,99,56,87,98,65,54,36];

var max = [];
var sm = 0, lg = input[0];
for(var n = 0; n < 10; ++n)	{
max.push(input[n]);
}
var i;


function smallest()    {
    var small = max[0], pos = 0;
    for(var k = 1; k < max.length; ++k)    {
        if(max[k] < small)    {
            pos = k;
            small = max[pos];	// was logical error here, new small not updated
        }
    }
    
    return pos;
}

sm = smallest();
for(var n = 1; n < max.length; ++n)	{
	if(max[n] > lg)	{
  	lg = max[n];
  }
}

for(i = 10; i < input.length; ++i)    {
    // length
    
    // max full
    
        if(input[i] > max[sm])    {	// was making mistake comparing with the position instead of value
            lg = input[i];
            max[sm] = lg;
            sm = smallest(); // new position
        }
}

console.info(max);