如何在javascript中用二维数组实现原型函数?
我需要用javascript实现DataTable结构,即c#。 比如说如何在javascript中用二维数组实现原型函数?,javascript,multidimensional-array,Javascript,Multidimensional Array,我需要用javascript实现DataTable结构,即c#。 比如说 function Servers(name) { this.Name = name; this.Columns = new Array(5); var rows = new Array(3); for (var i=0;i<3;i++) rows[i]=new Array(5); this.Rows = rows; } 这很好,但我需要像这样调用我的
function Servers(name)
{
this.Name = name;
this.Columns = new Array(5);
var rows = new Array(3);
for (var i=0;i<3;i++)
rows[i]=new Array(5);
this.Rows = rows;
}
这很好,但我需要像这样调用我的对象
Servers.Rows[i][j]
Servers.Rows[i]["ServerUrl"]
但我不知道如何实现这项工作的原型。
有没有办法做到这一点
注意:Columns数组保存的列名与c#中的列名类似,Columns数组大小始终等于行的子数组。对此,您应该使用哈希/对象 如果您想在javascript中通过名称/字符串引用数据结构中的变量,对象是最好的选择。请参见此处: 或者您甚至可以指定一个将索引作为参数的自定义init函数。 假设您希望在默认情况下使用0初始化矩阵:
Server.rows = create2Array(10, 10, function(x, y) { return 0;});
或者如果你使用一个对象
Server.rows = create2Array(10, 10);
Server.rows[0]["ServerUrl"] = "test";
因此,您需要使用对象而不是数组<代码>行[i]={}代码>使用对象是一个很好的解决方案,但由于第三方服务的响应,我将Servers.Rows设置为数组。服务发送安排你也许应该改进你的帖子,并解释如何改进。它有被标记为“非常低质量”的风险<代码>服务器。行[0][“服务器URL”]仍然。谢谢@alex23这正是我需要的:)
Server.rows = create2Array(10, 10, function(x, y) { return 0;});
Server.rows = create2Array(10, 10);
Server.rows[0]["ServerUrl"] = "test";