我正在Node js中的Discord机器人上工作,我需要获取2d数组的2维尺寸的长度。 我的数组是这样构造的,在需要时,算法会在底部扩展:
var users = [["","","","",""]];
现在我需要知道如何获得尺寸。 我本来就是这样做的,但是那没用。
// for the y length
users.length
// for the x length
users[i].length
希望可以为您提供帮助
预先感谢
恩里科
答案 0 :(得分:0)
实际上您几乎是正确的:
var users = [[1,2],[3,4]]
users.length // y
users[0].length // x
请记住,自X以来,每个X要求的索引都从0开始,并且每行可能都不同。
答案 1 :(得分:0)
假设数组中的所有元素与第一个元素的长度都没有变化,您可以使用以下方法获得第一个元素的长度
var dimmensions = [users.length, users[0].length]
// returns [1, 5]
在一个更加实际的世界中,对于数组用户而言,获取每个元素的尺寸并决定使用最大还是最小的选择可能会更好,我自然会选择最大的选择。
var users = [["", "", ""], ["", ""], ["", "", "", ""]];
var elementsLength = users.map((user) => (user.length));
var lengthY = Math.max(...elementsLength);
var lengthX = users.length;
var dimmensions = [lengthX, lengthY];
// returns [3, 4]
这一切都取决于您想要什么。
答案 2 :(得分:0)
您的数组var users = [["","","","",""]];
是一个2d数组,其中仅占用第0个索引。在您的情况下,users[i].length
可能会在索引1和更高的索引上引发某种length not defined
错误。您应该使用users[0].length
来获取2d元素的长度