我创建了一个将数字因子化的网页。我创造了这个功能。现在我需要创建一个能够显示数学的函数。

时间:2016-07-07 03:09:57

标签: javascript jquery function

任何人都可以帮我这样做吗?该功能在下面是空的,我不确定如何继续。我现在在网页上显示了分解数字,我想在它之前显示数学。像这样的东西;

用户输入:3 我们的网站输出:“1 x 2 x 3 = 6”

function factorialize(num) {
 var total = 1;
 if (num > 1) {
  for (var i = 1; i <= num; i += 1) {
  total *= i;
  }
}
 return total;
}

function showMath() {

};


$(document).ready(function() {
  $("form#new-item").submit(function(event) {
   event.preventDefault();
   var userInput = parseInt($("input#input1").val());
   var result = factorialize(userInput);
   var myWork = showMath(userInput);
   // var
   $("#output").text(myWork + " = " + result);


 });
});

1 个答案:

答案 0 :(得分:1)

你应该建立一个包含所有因子的数组。然后很容易reduce()数组为单个值或join()为字符串。

function toFactorialArray(num){
  var n = num, 
      arr = [n];

  while (--n) arr.push(n);
  return arr;
}

function getResult(arr){
    return arr.reduce( 
        function( memo, current ) {
           return memo * current
        }, 1
    );
}

function getWork(arr){
   return arr.reverse().join(' * ');
}





$(document).ready(function() {
  $("form#new-item").submit(function(event) {
   event.preventDefault();
   var userInput = parseInt($("input#input1").val());
   var factors = toFactorialArray(userInput);
   var result = getResult(factors);
   var myWork = getWork(factors);

   $("#output").text(myWork + " = " + result);


 });
});