说明
我在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 = [];
答案 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 );