计算2d数组中的行数

时间:2014-12-01 04:08:08

标签: javascript arrays multidimensional-array

说明

我在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 = [];

3 个答案:

答案 0 :(得分:6)

这可能适合你

// 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

您应该考虑使用users代替my_2d_array。它更好地通信,实际的数据类型是一个Object,而不是一个Array。

答案 1 :(得分:3)

使用push方法

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

my_2d_array.length获取点数

答案 2 :(得分:2)

看起来您正在尝试弄清楚javascript对象my_2d_array中有多少个键。

您应该可以使用Object.keys()

这是JsFiddle

var my_2d_array = {};
var name = "Hello";
var socket = "World";
my_2d_array['user1'] = {'id':name,'socket':socket};

var name = "Hello2";
var socket = "World2";
my_2d_array['user2'] = {'id':name,'socket':socket};

alert( Object.keys(my_2d_array).length );