开发者问题收集

循环函数和数组:javascript

2014-07-10
86

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

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

因此,基本上这将使用 Flot for JQuery 在图形上绘制二次方程,但我希望能够使用 while 循环在每次迭代中将 xAxis 变量增加一,然后在该迭代中计算 xAxisyFunction 值。我不确定如何将 yFunctionxAxis 的当前值挂钩。

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

var graphArray = [[1, 2], [2, 4], [3, 6], [4, 8]];

然后,我可以绘制图表了。

如果有人知道我该怎么做,我将不胜感激。我查看了表格,但找不到针对我这个非常具体问题的明显解决方案。

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)]);
}
MightyPork
2014-07-10
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
}

应该可以正常工作。请参阅 通过 jsfiddle 的示例 。 targetValue 是函数应执行的迭代次数。

SVSchmidt
2014-07-10