将数字(x)乘以给定数字(y)一定次数的函数(n)

时间:2015-06-28 19:07:35

标签: javascript

我试图编写一个将数字(x)乘以给定数字(y)一定次数(n)的函数。结果将以数组形式返回。

function multiplyBy(x, y, n) {
    var arr = [],
        z = x * y,
        sum = 0;
    for (var i = 0; i < n; i++) {
        sum += z;
        arr.push(sum);
    }
    return arr;
};

http://jsfiddle.net/marcusdei/s91pm82b/4/

4 个答案:

答案 0 :(得分:1)

这应该有效。

function multiplyBy(x, y, n) {
    var arr = [];
    var tot = x*y;
    for (var i=0; i<n; i++){
        arr.push(tot);
        tot *= y;
    }
    return arr;
};

alert(multiplyBy(2,4,6))

答案 1 :(得分:0)

你需要this updated小提琴吗?

更新2:

function multiplyBy(x, y, n) {
    var arr = [],
        z = x * y,
        sum = 0;

    arr[0] = x * y;

    for (var i = 1; i < n; i++) {
        sum = arr[i - 1] * y;
        arr.push(sum);
    }
    return arr;
};

答案 2 :(得分:0)

正如您所提到的multiplyBy(2, 4, 6);,并且希望out put是8,32,128,512,2048,8192

&#13;
&#13;
function multiplyBy(x, y, n) {
    var arr = [],
    var z = x * y;
    for (var i = 0; i < n; i++) {
        arr.push(z);
        z *= y;
    }
    return arr;
};
document.getElementById('choice').innerHTML = multiplyBy(2, 4, 6);
&#13;
#hidden {
    display:none
}
&#13;
<div id="choice"></div>
<div id="hidden"></div>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

这是一个更简约的功能。

JS:

function multiply(op1, op2, n) {
    for(var results = []; n > 0; results.push(op1 *= op2), n--);
    return results;
}

console.log(multiply(2, 4, 6));