【发布时间】:2014-04-21 21:21:39
【问题描述】:
我正在编写一个带有两个子函数的函数:一个从表单中的两个值打印二维数组,另一个打印二维数组。此时,我一直在尝试使用具有整数值的变量来填充二维数组,但它们没有被正确填充。 min 变量在函数中的值似乎是 0,而不是传递的值。
无论如何,在我创建二维数组后,我尝试测试打印二维数组“twoDarray”,但它显示为未定义?
function isValid(frm) {
var xValue = document.getElementById("X").value;
var yValue = document.getElementById("Y").value;
if (xValue <= yValue)
{
/* Draw out the multiplication table. */
function gen2Darray(min, max)
{
var lengthOf2Darray = (max - min);
var twoDarray = new Array(lengthOf2Darray);
for (var i = 0; i < lengthOf2Darray; i++)
{
twoDarray[i] = new Array(lengthOf2Darray);
for (var j = 0; j < lengthOf2Darray; j++)
{
twoDarray[i][j] = ((min + i) * (min + j)); // only takes i
}
}
}
gen2Darray(xValue, yValue);
function print_2d_string_array (array)
{
// print twoDarray, but twoDarray undefined here
}
我创建了一个 jsfiddle 帐户,但它在网站上的工作方式不同:http://jsfiddle.net/imparante/5yTEv/。
修复:
function isValid(frm) {
var xValue = document.getElementById("X").value;
var yValue = document.getElementById("Y").value;
var lengthOf2Darray = (yValue - xValue);
var twoDarray = new Array(lengthOf2Darray);
if (xValue <= yValue) {
/* Draw out the multiplication table. */
function gen2Darray(min, max) {
// var lengthOf2Darray = (max - min);
// var twoDarray = new Array(lengthOf2Darray);
for (var i = 0; i < lengthOf2Darray; i++) {
twoDarray[i] = new Array(lengthOf2Darray);
for (var j = 0; j < lengthOf2Darray; j++) {
twoDarray[i][j] = ((min + i) * (min + j));
$("#table").append(twoDarray[i][j] + " ");
}
}
return twoDarray;
}
gen2Darray(xValue, yValue);
function print_2d_string_array(array){
// print twoDarray
}
【问题讨论】:
-
您能否解决您遇到的问题,上面的代码不完整,我们需要 HTML 和整个 javascript 函数。
-
条件中的函数声明在严格模式下是不允许的,在非严格模式下会在不同的浏览器中产生不同的结果。
标签: javascript html arrays multidimensional-array