2014-07-10 123 views
0

我在声明一个函数,它可以在数组内生成一系列有序值对,例如可以绘制在图上。我有两个变量:循环函数和数组:javascript

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

所以,基本上这将使用海军报的JQuery绘制在图上一元二次方程,但我希望能够使用,比方说,一个while循环递增xAxis变量每次迭代一次,然后在该迭代中计算xAxis的值yFunction。我不知道如何保持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)]); 
} 
+0

太棒了,非常感谢 – user3826598

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是函数应该执行的迭代次数。

+0

我可以问为什么for循环条件具有'!= targetValue + 1'作为条件吗? – user3826598

+0

第二条语句(x!= targetValue + 1)用于在循环结束时返回false。所以,如果x达到10,循环会停止而不执行y(10),因为x!= 10是假的。这就是为什么我要将startingValue添加到targetValue。在大多数情况下,你会从零开始(for(var i = 0; ...))。但是我!= targetValue + 0没有意义。 – SVSchmidt