Javascript 计算二维数组中的行数

Javascript 计算二维数组中的行数,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,说明: my_2d_array[].length; // this gives nothing my_2d_array.length; // this outputs 0 (as number) 我在2D数组中添加数据,如下所示 my_2d_array['user1'] = {'id':name,'socket':socket}; my_2d_array['user2'] = {'id':name,'socket':socket}; 此2D数组保存所有已连接用户id及其各自套接字的记录。。

说明:

my_2d_array[].length; // this gives nothing 
my_2d_array.length; // this outputs 0 (as number)
我在2D数组中添加数据,如下所示

my_2d_array['user1'] = {'id':name,'socket':socket};
my_2d_array['user2'] = {'id':name,'socket':socket};
此2D数组保存所有已连接用户id及其各自套接字的记录。。。 我想显示连接的用户数。。到目前为止,要做到这一点,需要计算数组中的行数并显示它

我尝试了以下内容:

my_2d_array[].length; // this gives nothing 
my_2d_array.length; // this outputs 0 (as number)
我应该如何获得行数

更新

我这样声明了我的数组

var my_2d_array = [];

看起来您正在试图计算javascript对象
my_2d_数组
中有多少个键

你应该能够使用

这是一本书


使用
push
方法

my_2d_array.push({'id':name,'socket':socket});
my_2d_array.push({'id':name,'socket':socket});

my_2d_array.length
获取计数

这可能对您有用

// initialize
var my_2d_array = {};

// add users
my_2d_array["user1"] = ...
my_2d_array["user2"] = ...

// get number of users
Object.keys(my_2d_array).length;

//=> 2

您应该考虑使用<代码>用户< />代码,而不是<代码> MyS2DyLoad 。它可以更好地通信,实际的数据类型是一个对象,而不是一个数组。

您是如何声明数组的?因为数组是基于索引的。。你能告诉我们你是怎么申报的吗。。这可以帮助我们告诉你正确和准确的答案。但这改变了他的数据结构。你错过了关键。。。如果我使用你的方法,我应该在哪里保存密钥,例如,你的意思是我的二维数组['user1'].push(…)?他更新了他的问题,看起来他不打算使用哈希映射。@RksRock你对JavaScript不熟悉吗?如果是,那么可能是使用了错误的变量。似乎您想要一个哈希映射,在JS中它通常被实现为对象(
{}
),而不是数组(
[]
)。@RksRock在这种情况下@maček给出了一个更好的答案,您最好声明
var my_2d_array={},而不是
[]