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={}代码>,而不是[]
。