在下面的代码中,我得到“push is not a function”错误.谁能告诉我这里我做错了什么?我想在
Javascript中创建2D数组.
var myArray = new Array(4); myArray = ["0","0","0"]; for (var i=0; i<myArray.length; i++) { myArray[i].push("ID"); myArray[i] = new Array(1); for (var j=0; j<myArray[i].length; i++) { myArray[i][j].push("Array[j]"); } }
Firebug指着我:
myArray[i].push("ID");
对于这一行我得到“TypeError:myArray [i] .push不是一个函数”
最终的数组看起来应该是:
[ID,"SomeValue1"],[ID,"SomeValue2"],"SomeValue3"]
而且我不能硬代码,我需要根据来自DB的数据动态创建它
解决方法
这将创建您的示例.
var myArray = new Array(4); for (var i = 0; i < myArray.length; i++) { myArray[i] = ["ID","SomeValue" + (i+1)]; }
但是如果你需要从数据库设置数据,那么如何在Javascript中设置?如果它在不同的数组中,您可以执行以下操作:
var dbArray = ["SomeValue1","SomeValue2","SomeValue3"]; var myArray = new Array(dbArray.length); for (var i = 0; i < myArray.length; i++) { myArray[i] = ["ID",dbArray[i]]; }