JSFiddle - React, Tailwind, and code Playground

by Michael Darmanin

HTML

<div id="choice">
    
</div>

<div id="hidden">    

</div>

CSS

#hidden {
    display: none;
}

JavaScript

var Test = {
	randomNumber: function() { return Math.floor(Math.random() * 100); },
  assertEquals: function(testFunc, solution) { console.log(testFunc === solution); }
}

/* Own function */

function solution(numbers) {
	numbers.sort(function (a, b) { 
    	return a - b;
  });
		return numbers[0] + numbers[1];
}

/* User's function */

function sumTwoSmallestNumbers(numbers) {
	var findSmallest = function(startsAt){
	var first = startsAt;
	for (var i =0; i<=numbers.length-1; i++){
		if(first >= numbers[i]){
			first = numbers[i];
		}
	}
	return first;
	}
	var smallest = findSmallest(numbers[0]);
	var index = numbers.indexOf(smallest);
	numbers.splice(index,1);
	var secondSmallest = findSmallest(numbers[0]);
	return smallest+secondSmallest
};

/* Random Tests */
for (let i = 0; i < 100; i++) {
	var randArr = [Test.randomNumber()+1000,Test.randomNumber(),Test.randomNumber(),Test.randomNumber(),Test.randomNumber()];
  var staticArr = [1000, 50,12000, 275, 21000, 1];
  console.log("Result of user function is: " + sumTwoSmallestNumbers(staticArr) + ". Result of own function is: " + solution(staticArr));
	Test.assertEquals(sumTwoSmallestNumbers(randArr), solution(randArr));
}

document.getElementById('choice').innerHTML = solution(staticArr);