Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中用二维数组实现原型函数?_Javascript_Multidimensional Array - Fatal编程技术网

如何在javascript中用二维数组实现原型函数?

如何在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; } 这很好,但我需要像这样调用我的

我需要用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;
 }
这很好,但我需要像这样调用我的对象

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";