计算二维数组中的行数

count the number of rows in 2d array

本文关键字:二维数组 计算      更新时间:2023-09-26

描述:

我正在添加我的 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 = [];

这可能对你有用

// 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。它更好地沟通,实际数据类型是对象,而不是特定的数组。

使用push方法

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

my_2d_array.length得到计数

看起来您正在尝试找出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 );