循环函数和数组:javascript

时间:2014-07-10 17:52:17

标签: javascript arrays loops while-loop

我希望声明一个可以在数组中生成一系列有序值的函数,例如可以在图形上绘制。我有两个变量:

var xAxis = 1;
var yFunction = 4*(xAxis^xAxis) + 12(xAxis) + 20;

所以,基本上这会使用 Flot JQuery 在图表上绘制二次方程式,但我希望能够使用一个while循环来在每次迭代时将xAxis变量递增1,然后计算该迭代上yFunction的{​​{1}}值。我不确定如何将xAxisyFunction的现值挂钩。

此外,该函数必须为每次迭代生成xAxis和yFunction的每个值,然后将这些值存储到以下格式的数组中:

xAxis

从那里,我可以绘制图表。

如果有人知道我会怎么做,我将不胜感激。我查看过各种表格,看不出明显的解决方案。

2 个答案:

答案 0 :(得分:2)

您的出发点是将yFunction定义为函数:

var yFunction = function(x) {
    return 4 * Math.pow(x, x) + 12 * x + 20;
}
// assuming that by x^x you meant X to the power of X.

然后你的循环可能是这样的:

var graphArray = [];

for(var x = 1; x <= 4; x++) {
    graphArray.push([x, yFunction(x)]);
}

答案 1 :(得分:0)

function y(x) { //handle y as function as learned in school
    return 4 * (Math.pow(x,x)) + 12 * x + 20;
}

var objValueTable = {}, //object to store data into
    targetValue = 10; //value to iterate to
for(var x = 1; x != targetValue + 1; x++) {
    objValueTable[x] = y(x); //store value of y at point x in object
}

应该运作良好。见example via jsfiddle。 targetValue是函数应该执行的迭代次数。