Я провел небольшую игру в JS и дошел до того, что у меня есть массив с 4 числами (одно из них - правильный результат, остальные 3 - случайные).Мне нужно отсортировать их (по возрастанию), но ничего не работает.Я попробовал функции E6 и E2015, которые здесь упоминаются, но ничего.Я включаю мой код плюс код с консоли, чтобы вы могли видеть.Вы знаете, как с этим бороться или в чем проблема?Спасибо за ваше время.
//this is the code i have:
var rnum1 = generateRandomNumber1 ();
var rnum2 = generateRandomNumber2 ();
var rnums = [rnum1, rnum2];
var rnumsSort = rnums.sort(function(a, b){return b-a});
var data= generateRandomOperatorAndCorrectResult(rnumsSort[0],rnumsSort[1]);
//data=["+", [5]]
var operator=data[0];
var corResult = data[1][0][0];
var ranResult =[data[1][0][1],data[1][0][2],data[1][0][3]];
var allResults = data[1];
var sortAllResults = allResults.sort(function(a,b){
return a - b});
var mes=alert(sortAllResults);
//I'm sure all of my function are working because it alerts the actual 4 numbers in the array (var allResults = data[1]) but it doesnt do the sort method
function generateRandomOperatorAndCorrectResult (num1, num2) {
var operators = [{
sign: "+",
method: function(rnum1,rnum2){ return rnum1 + rnum2; } },
{
sign: "*",
method: function(rnum1,rnum2){ return rnum1 * rnum2; } },
{
sign: "-",
method: function(rnum1,rnum2){ return rnum1 - rnum2; }
}];
var results = [];
var selectedOperator = Math.floor(Math.random()*operators.length);
var randomOperator = operators[selectedOperator].sign;
var correctResult = (operators[selectedOperator].method(num1, num2)); //pass the numbers to the methods
results.push(correctResult);
var randomResult = generateRandomResults(3);
var result = results.concat(randomResult);
return [randomOperator, [result]];
}